﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class УправлениеВнеоборотнымиАктивами
	{
		// Проверяет правильность заполнения событий в шапке документов ОС
		// Параметры
		//  Событие (Перечисление ВыдыСобытийОС): вид события
		//  ВидыСобытий (Перечисление ВыдыСобытийОС,СписокЗначений): правильные события
		//  ПредставлениеРеквизита: Представление проверяемого реквизита
		//  Отказ : отказ от проведения документа
		//

		public void ПроверкаЗаполненияСобытий(/*Событие,ВидыСобытий,ПредставлениеРеквизита,Отказ*/)
		{
			//ПравильноеСобытие = Истина;
			if(true/*ВидыСобытий <> Неопределено*/)
			{
				if(true/*ЗначениеЗаполнено(Событие)*/)
				{
					if(true/*ТипЗнч(ВидыСобытий) = Тип("СписокЗначений")*/)
					{
						//ПравильноеСобытие = ВидыСобытий.НайтиПоЗначению(Событие)<>Неопределено;
					}
				}
			}
			if(true/*Не ПравильноеСобытие*/)
			{
				//СтрокаСообщения = "Неправильное значение реквизита шапки """ + СокрЛП(ПредставлениеРеквизита) + """!";
				//Сообщить(СтрокаСообщения,СтатусСообщения.Важное);
				//Отказ = Истина;
			}
		}
		// ПроверкаЗаполненияСобытий()
		// Возвращает сведения об ОС на дату
		//
		// Параметры
		//  ОсновноеСредство    - СправочникСсылка.ОсновныеСредства
		//  ДатаСведений	    - Дата
		//  Организация		    - СправочникСсылка.Организации
		//

		public object ПолучитьСведенияОбОС(/*ОсновноеСредство,ДатаСведений,Организация = Неопределено, ВидУчета = "Упр"*/)
		{
			//ЗапросСведений  = Новый Запрос;
			if(true/*ВидУчета  = "Бух" и Организация <> Неопределено*/)
			{
				//НазваниеРегистраПервоначальныхСведений = "ПервоначальныеСведенияОСБухгалтерскийУчет";
				//НазваниеРегистраПараметровАмортизации  = "ПараметрыАмортизацииОСБухгалтерскийУчет";
				//НазваниеРегистраМестонахожденияОС 	   = "МестонахождениеОСБухгалтерскийУчет";
				//ТекстУсловия  	   		= "&ДатаСведений, Организация = &Организация И ОсновноеСредство = &ОсновноеСредство";
				//ТекстУсловияКонецМесяца = "&ДатаСведенийКонецМесяца, Организация = &Организация И ОсновноеСредство = &ОсновноеСредство";
				/*СтрокиСчетов	   		= "	СчетаБухгалтерскогоУчетаОС.СчетУчета КАК СубСчет,
		                	  		|	СчетаБухгалтерскогоУчетаОС.СчетНачисленияАмортизации,";*/
				/*СоединениеПоСчетам 		= "		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаБухгалтерскогоУчетаОС.СрезПоследних("+ТекстУсловия+") КАК СчетаБухгалтерскогоУчетаОС
							  		|		ПО ПервоначальныеСведенияОС.ОсновноеСредство = СчетаБухгалтерскогоУчетаОС.ОсновноеСредство";*/
				//ИнвентарныйНомер   		= "	ПервоначальныеСведенияОС.ИнвентарныйНомер КАК ИнвентарныйНомер,";
				//ЗапросСведений.УстановитьПараметр("Организация",Организация);
				//СтрокаОрганизация  		= "  МестонахождениеОС.Организация.Наименование КАК Организация,";
			}
			//ЗапросСведений.УстановитьПараметр("ДатаСведений", ДатаСведений);
			//ЗапросСведений.УстановитьПараметр("ДатаСведенийКонецМесяца", КонецМесяца(ДатаСведений));
			//ЗапросСведений.УстановитьПараметр("ОсновноеСредство", ОсновноеСредство);
			/*ЗапросСведений.Текст =" 
	|ВЫБРАТЬ
	|	ПараметрыАмортизацииОС.СтоимостьДляВычисленияАмортизации,
	|	ПараметрыАмортизацииОС.ОбъемПродукцииРаботДляВычисленияАмортизации,
	|	ПараметрыАмортизацииОС.КоэффициентАмортизации,
	|	ПараметрыАмортизацииОС.КоэффициентУскорения,
	|	ПараметрыАмортизацииОС.Период,
	|	ПараметрыАмортизацииОС.СрокПолезногоИспользования,
	|"+СтрокиСчетов
	+ИнвентарныйНомер
	+СтрокаОрганизация+"
	|	МестонахождениеОС.Местонахождение,
	|	МестонахождениеОС.МОЛ,
	|	МестонахождениеОС.Местонахождение.Наименование КАК МестонахождениеОС,
	|	МестонахождениеОС.Местонахождение.Наименование КАК Подразделение,
	|	ПервоначальныеСведенияОС.СпособНачисленияАмортизации,
	|	ВЫБОР
	|		КОГДА ПервоначальныеСведенияОС.ПервоначальнаяСтоимость = 0 ТОГДА
	|			ПервоначальныеСведенияОСКонецМесяца.ПервоначальнаяСтоимость
	|		ИНАЧЕ ПервоначальныеСведенияОС.ПервоначальнаяСтоимость
	|	КОНЕЦ КАК ПервоначальнаяСтоимость,
	|	ПервоначальныеСведенияОС.ОсновноеСредство,
	|	ПервоначальныеСведенияОС.ОсновноеСредство.КодПоОКОФ.Код КАК КодПоОКОФ,
	|	ПервоначальныеСведенияОС.ОсновноеСредство.НомерПаспорта КАК НомерПаспорта,
	|	ПервоначальныеСведенияОС.ОсновноеСредство.АмортизационнаяГруппа КАК НомерГруппы,
	|	ПервоначальныеСведенияОС.ОсновноеСредство.ЗаводскойНомер КАК ЗаводскойНомер,
	|	ПервоначальныеСведенияОС.ОсновноеСредство.НаименованиеПолное КАК НаименованиеПолное,
	|	ПервоначальныеСведенияОС.ОсновноеСредство.Наименование КАК Наименование,
	|	ПервоначальныеСведенияОС.ОсновноеСредство.Изготовитель КАК ИзготовительОС
	|ИЗ
	|	РегистрСведений."+НазваниеРегистраПервоначальныхСведений+".СрезПоследних("+ТекстУсловия+") КАК ПервоначальныеСведенияОС
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений."+НазваниеРегистраПараметровАмортизации+".СрезПоследних("+ТекстУсловия+") КАК ПараметрыАмортизацииОС
	|		ПО ПервоначальныеСведенияОС.ОсновноеСредство = ПараметрыАмортизацииОС.ОсновноеСредство
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений."+НазваниеРегистраМестонахожденияОС+".СрезПоследних("+ТекстУсловия+") КАК МестонахождениеОС
	|		ПО ПервоначальныеСведенияОС.ОсновноеСредство = МестонахождениеОС.ОсновноеСредство
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений."+НазваниеРегистраПервоначальныхСведений+".СрезПоследних("+ТекстУсловияКонецМесяца+") КАК ПервоначальныеСведенияОСКонецМесяца
	|		ПО ПервоначальныеСведенияОС.ОсновноеСредство = ПервоначальныеСведенияОСКонецМесяца.ОсновноеСредство
	|"+СоединениеПоСчетам;*/
			//РезультатЗапроса = ЗапросСведений.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			return null;
		}
		//ПолучитьСведенияОбОС
		// Функция определяет фактический срок использования актива (в месяцах)
		// исходя из даты принятия актива к учету и даты выбытия
		//
		// Параметры:
		//   ДатаПринятияКУчету - дата принятия актива к учету
		//   ДатаВыбытия - дата выбытия актива
		//
		// Возвращаемое значение:
		//   Число месяцев.
		//

		public object ОпределитьФактическийСрокИспользования(/*ДатаПринятияКУчету, ДатаВыбытия*/)
		{
			//КоличествоЛет     = Год(ДатаВыбытия) - Год(ДатаПринятияКУчету);
			//КоличествоМесяцев = Месяц(ДатаВыбытия) - Месяц(ДатаПринятияКУчету);
			return null;
		}
		// ОпределитьФактическийСрокИспользования()

		public object ПолучитьДатуПереходаКЛинейномуМетоду(/*ДатаРасчета, Организация*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Организация",   Организация);
			//Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ДатаРасчета));
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	УчетнаяПолитикаОрганизацийСрезПоследних.Период
	|ПОМЕСТИТЬ НелинейныйМетод
	|ИЗ
	|	РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(
	|			&НачалоПериода,
	|			Организация = &Организация
	|				И МетодНачисленияАмортизацииНУ = ЗНАЧЕНИЕ(Перечисление.МетодыНачисленияАмортизации.Нелинейный)) КАК УчетнаяПолитикаОрганизацийСрезПоследних
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	УчетнаяПолитикаОрганизаций.Период
	|ПОМЕСТИТЬ ЛинейныйМетод
	|ИЗ
	|	РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций
	|ГДЕ
	|	УчетнаяПолитикаОрганизаций.Организация = &Организация
	|	И УчетнаяПолитикаОрганизаций.МетодНачисленияАмортизацииНУ = ЗНАЧЕНИЕ(Перечисление.МетодыНачисленияАмортизации.Линейный)
	|	И УчетнаяПолитикаОрганизаций.Период МЕЖДУ ДАТАВРЕМЯ(2009, 1, 1) И &НачалоПериода
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ЕСТЬNULL(МИНИМУМ(ЛинейныйМетод.Период), ДАТАВРЕМЯ(2009, 1, 1)) КАК ДатаПереходаКЛинейномуМетоду
	|ИЗ
	|	НелинейныйМетод КАК НелинейныйМетод
	|		ЛЕВОЕ СОЕДИНЕНИЕ ЛинейныйМетод КАК ЛинейныйМетод
	|		ПО НелинейныйМетод.Период < ЛинейныйМетод.Период";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			//Выборка.Следующий();
			return null;
		}
		// ПолучитьДатуПереходаКЛинейномуМетоду()
		// Возвращает сведения о руководителе и главбухе
		//
		// Параметры
		//

		public object ПолучитьСведенияОРуководителеГлавБухе(/*Организация,Дата*/)
		{
			//СтруктураСведений	= Новый Структура;
			if(true/*Организация <> Неопределено*/)
			{
				if(true/*Организация.Метаданные().Имя = "Организации"*/)
				{
					//Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Организация,Дата,);
					//СтруктураСведений.Вставить("Руководитель"	 , Руководители.Руководитель);
					//СтруктураСведений.Вставить("ДолжностьРуководителя" , Руководители.РуководительДолжность);
					//СтруктураСведений.Вставить("ГлавБух" , Руководители.ГлавныйБухгалтер);
				}
			}
			return null;
		}
		// Возвращает сведения о поставщике и получателе на дату
		//
		// Параметры
		//

		public object ПолучитьСведенияОПоставщикеПолучателе(/*Поставщик,Получатель,Дата*/)
		{
			//СтруктураСведений	= Новый Структура;
			if(true/*Поставщик <> Неопределено*/)
			{
				//СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Поставщик,Дата);
				//СтруктураСведений.Вставить("АдресСдатчика" , ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ЮридическийАдрес,Телефоны,"));
				//СтруктураСведений.Вставить("РеквСдатчика"  , ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,БИК,"));
				if(true/*Поставщик.Метаданные().Имя = "Организации"*/)
				{
					//Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Поставщик,Дата,);
					//СтруктураСведений.Вставить("РукСдатчика"	 , Руководители.Руководитель);
					//СтруктураСведений.Вставить("ДолжРукСдатчика" , Руководители.РуководительДолжность);
					//СтруктураСведений.Вставить("ГлавБухСдатчика" , Руководители.ГлавныйБухгалтер);
				}
			}
			if(true/*Получатель <> Неопределено*/)
			{
				//СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Получатель,Дата);
				//СтруктураСведений.Вставить("АдресПолучателя" , ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ЮридическийАдрес,Телефоны,"));
				//СтруктураСведений.Вставить("РеквПолучателя"  , ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "НомерСчета,Банк,БИК,"));
				if(true/*Получатель.Метаданные().Имя = "Организации"*/)
				{
					//Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Получатель,Дата,);
					//СтруктураСведений.Вставить("РукПолучателя"	   , Руководители.Руководитель);
					//СтруктураСведений.Вставить("ДолжРукПолучателя" , Руководители.РуководительДолжность);
					//СтруктураСведений.Вставить("ГлавБухПолучателя" , Руководители.ГлавныйБухгалтер);
				}
			}
			return null;
		}
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ДЛЯ ПРОВЕРКИ СОСТОЯНИЙ И СОБЫТИЙ ОС
		// Проверяет возможность принятия к учету ОС по управленческому и регламентированному учету.
		// Используется документами ВводНачальныхОстатковОС и ПринятиеКУчетуОС
		// Параметры
		//  ОсновноеСредство    - СправочникСсылка.ОсновныеСредства
		//  Дата				- Дата, дата принятия к учету
		//  Отказ 				- Булево
		//  Организация		    - СправочникСсылка.Организации. Если значение = неопределено - упр. учет.

		public void ПроверитьВозможностьПринятияКУчетуОС(/*ОсновноеСредство,Дата,Отказ,Организация = Неопределено*/)
		{
			if(true/*Организация  = Неопределено*/)
			{
				/*// упр. учет
*/
				//НазваниеРегистраСостояний 	= "РегистрСведений.СостоянияОС";
				//НазваниеРегистраСобытий   	= "РегистрСведений.СобытияОС";
				//УсловиеОрганизацииСостояний = "";
				//УсловиеОрганизацииСобытий	= "";
			}
			//ЗапросСостоянийИСобытий = Новый Запрос;
			/*ЗапросСостоянийИСобытий.Текст =    "ВЫБРАТЬ
									   |    СостоянияОС.Регистратор КАК Регистратор,
						               |	СостоянияОС.ОсновноеСредство КАК ОсновноеСредство,
						               |	СостоянияОС.Состояние КАК Состояние,
									   |	NULL КАК Событие,
									   |	СостоянияОС.ДатаСостояния КАК Дата
						               |ИЗ
						               |	"+НазваниеРегистраСостояний+" КАК СостоянияОС
						               |
						               |ГДЕ
									   |	(СостоянияОС.Состояние = &СостояниеПринятоКУчету 
									   |	ИЛИ СостоянияОС.Состояние = &СостояниеСнятоСУчета 
									   |	И СостоянияОС.ДатаСостояния <= &Дата 
									   |	ИЛИ СостоянияОС.Состояние = &СостояниеВведеноВЭксплуатацию 
									   |	И СостоянияОС.ДатаСостояния <= &Дата) 
									   |	"+УсловиеОрганизацииСостояний+" 
									   |	И СостоянияОС.ОсновноеСредство = &ОсновноеСредство
						               |
						               |ОБЪЕДИНИТЬ
						               |
						               |ВЫБРАТЬ
									   |	СобытияОС.Регистратор,
						               |	СобытияОС.ОсновноеСредство,
									   |	NULL,
						               |	СобытияОС.Событие.ВидСобытияОС,
									   |	СобытияОС.Период
						               |ИЗ
						               |	"+НазваниеРегистраСобытий+" КАК СобытияОС
						               |
						               |ГДЕ
						               |	СобытияОС.ОсновноеСредство = &ОсновноеСредство И
									   | 	"+УсловиеОрганизацииСобытий+"
						               |	СобытияОС.Событие.ВидСобытияОС <> &ВидСобытияПрочее
									   |	И СобытияОС.Период < &Дата
									   |";*/
			//ЗапросСостоянийИСобытий.УстановитьПараметр("Дата",Дата);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("ОсновноеСредство",ОсновноеСредство);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("ВидСобытияПрочее",Перечисления.ВидыСобытийОС.Прочее);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("СостояниеСнятоСУчета",Перечисления.СостоянияОС.СнятоСУчета);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("СостояниеВведеноВЭксплуатацию",Перечисления.СостоянияОС.ВведеноВЭксплуатацию);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("СостояниеПринятоКУчету",Перечисления.СостоянияОС.ПринятоКУчету);
			if(true/*Организация <> Неопределено*/)
			{
				//ЗапросСостоянийИСобытий.УстановитьПараметр("Организация",Организация);
			}
			//Результат = ЗапросСостоянийИСобытий.Выполнить();
			if(true/*Не Результат.Пустой()*/)
			{
				//Выборка = Результат.Выбрать();
				//СтрокаСообщения = "Для основного средства <"+ОсновноеСредство.Наименование;
				if(true/*Организация<> Неопределено*/)
				{
					//СтрокаСообщения = СтрокаСообщения +"> в организации <"+Строка(Организация);
				}
				//СтрокаСообщения = СтрокаСообщения + "> уже зафиксированы состояния или события:";
				//ОбщегоНазначения.СообщитьОбОшибке(СтрокаСообщения);
				while(true/*Выборка.Следующий()*/)
				{
					//СтрокаСообщения = "";
					if(true/*Выборка.Состояние <> NULL*/)
					{
						//СтрокаСообщения = СтрокаСообщения + "состояние <"+Строка(Выборка.Состояние);
					}
					//СтрокаСообщения = СтрокаСообщения+"> документ <"+Строка(Выборка.Регистратор);
					//СтрокаСообщения = СтрокаСообщения + ">. Дата : "+Формат(Выборка.Дата,"ДФ=dd.MM.yyyy");
					//ОбщегоНазначения.СообщитьОбОшибке(СтрокаСообщения,Отказ);
				}
				//;;
			}
		}
		// Проверяет возможность снятия с учета ОС по управленческому и регламентированному учету.
		// Используется документами ВводНачальныхОстатковОС и ПринятиеКУчетуОС
		// Параметры
		//  ОсновноеСредство    - СправочникСсылка.ОсновныеСредства
		//  Дата				- Дата, дата снятия с учета
		//  Отказ 				- Булево
		//  Организация		    - СправочникСсылка.Организации. Если значение = неопределено - упр. учет.

		public void ПроверитьВозможностьСнятияСУчета(/*ОсновноеСредство,Дата,Отказ,Организация = Неопределено*/)
		{
			if(true/*Организация  = Неопределено*/)
			{
				/*// упр. учет
*/
				//НазваниеРегистраСостояний 	= "РегистрСведений.СостоянияОС";
				//НазваниеРегистраСобытий   	= "РегистрСведений.СобытияОС";
				//УсловиеОрганизацииСостояний = "";
				//УсловиеОрганизацииСобытий	= "";
			}
			//ЗапросСостоянийИСобытий = Новый Запрос;
			/*ЗапросСостоянийИСобытий.Текст =    "ВЫБРАТЬ
									   |    СостоянияОС.Регистратор КАК Регистратор,
						               |	СостоянияОС.ОсновноеСредство КАК ОсновноеСредство,
						               |	СостоянияОС.Состояние КАК Состояние,
									   |	СостоянияОС.ДатаСостояния КАК Дата
						               |ИЗ
						               |	"+НазваниеРегистраСостояний+" КАК СостоянияОС
						               |
						               |ГДЕ
						               |	(СостоянияОС.ОсновноеСредство = &ОсновноеСредство И
									   |     СостоянияОС.Состояние <> &СостояниеСнятоСУчета
									   | 	"+УсловиеОрганизацииСостояний+"
									   |	)
									   |	ИЛИ 
									   |	(СостоянияОС.Состояние = &СостояниеСнятоСУчета И
						               |	 СостоянияОС.ОсновноеСредство = &ОсновноеСредство И
									   |	 СостоянияОС.ДатаСостояния <= &Дата
									   | 	"+УсловиеОрганизацииСостояний+"
									   |	)
									   |";*/
			//ЗапросСостоянийИСобытий.УстановитьПараметр("Дата",Дата);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("ОсновноеСредство",ОсновноеСредство);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("СостояниеСнятоСУчета",Перечисления.СостоянияОС.СнятоСУчета);
			if(true/*Организация <> Неопределено*/)
			{
				//ЗапросСостоянийИСобытий.УстановитьПараметр("Организация",Организация);
			}
			//Результат = ЗапросСостоянийИСобытий.Выполнить();
			if(true/*Результат.Пустой()*/)
			{
				//СтрокаСообщения = "Основное средство <"+ОсновноеСредство.Наименование+"> не принималось ";
				if(true/*Организация<> Неопределено*/)
				{
					//СтрокаСообщения = СтрокаСообщения +"к бухгалтерскому учету в организации <"+Строка(Организация) +">";
				}
				//ОбщегоНазначения.СообщитьОбОшибке(СтрокаСообщения,Отказ);
			}
		}
		//ПроверитьВозможностьСнятияСУчета
		// Проверяет возможность изменения состояния  ОС по управленческому и регламентированному учету.
		// Используется документами ВводНачальныхОстатковОС и ПринятиеКУчетуОС
		// Параметры
		//  ОсновноеСредство    - СправочникСсылка.ОсновныеСредства
		//  Дата				- Дата, дата изменения состояния
		//  Отказ 				- Булево
		//  Организация		    - СправочникСсылка.Организации. Если значение = неопределено - упр. учет.

		public void ПроверитьВозможностьИзмененияСостоянияОС(/*ОсновноеСредство,Дата,Событие,Отказ,Организация = Неопределено*/)
		{
			if(true/*Организация  = Неопределено*/)
			{
				/*// упр. учет
*/
				//НазваниеРегистраСостояний 	= "РегистрСведений.СостоянияОС";
				//УсловиеОрганизацииСостояний = "";
			}
			//ЗапросСостоянийИСобытий = Новый Запрос;
			/*ЗапросСостоянийИСобытий.Текст =    "ВЫБРАТЬ
									   |    СостоянияОС.Регистратор КАК Регистратор,
						               |	СостоянияОС.ОсновноеСредство КАК ОсновноеСредство,
						               |	СостоянияОС.Состояние КАК Состояние,
									   |	СостоянияОС.ДатаСостояния КАК Дата
						               |ИЗ
						               |	"+НазваниеРегистраСостояний+" КАК СостоянияОС
						               |
						               |ГДЕ
						               |	(СостоянияОС.ОсновноеСредство = &ОсновноеСредство И
									   |     СостоянияОС.Состояние <> &СостояниеСнятоСУчета
									   | 	"+УсловиеОрганизацииСостояний+"
									   |	)
									   |	ИЛИ 
									   |	(СостоянияОС.Состояние = &СостояниеСнятоСУчета И
						               |	 СостоянияОС.ОсновноеСредство = &ОсновноеСредство И
									   |	 СостоянияОС.ДатаСостояния <= &Дата
									   | 	"+УсловиеОрганизацииСостояний+"
									   |	)
									   |";*/
			//ЗапросСостоянийИСобытий.УстановитьПараметр("Дата",Дата);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("ОсновноеСредство",ОсновноеСредство);
			//ЗапросСостоянийИСобытий.УстановитьПараметр("СостояниеСнятоСУчета",Перечисления.СостоянияОС.СнятоСУчета);
			if(true/*Организация <> Неопределено*/)
			{
				//ЗапросСостоянийИСобытий.УстановитьПараметр("Организация",Организация);
			}
			//Результат = ЗапросСостоянийИСобытий.Выполнить();
			if(true/*Результат.Пустой()*/)
			{
				//СтрокаСообщения = "Основное средство <"+ОсновноеСредство.Наименование+"> не принималось к учету";
				if(true/*Организация<> Неопределено*/)
				{
					//СтрокаСообщения = СтрокаСообщения +" в организации <"+Строка(Организация) +">";
				}
				//ОбщегоНазначения.СообщитьОбОшибке(СтрокаСообщения,Отказ);
			}
		}
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ АМОРТИЗАЦИИ

		public object ПолучитьКоэффициентАмортизацииИзГрафика(/*ТаблицаГрафиков, График, ДатаРасчета, ТипГодовой = Неопределено*/)
		{
			//КоэффициентАмортизации = 0;
			//СтрокаТЧ = ТаблицаГрафиков.Найти(График, "График");
			if(true/*СтрокаТЧ = Неопределено*/)
			{
			}
			if(true/*ТипГодовой = Неопределено*/)
			{
				//СуммаВсех   = СтрокаТЧ.СуммаКоэффициентов;
				//СуммаОдного = СтрокаТЧ["Коэффициент" + Месяц(ДатаРасчета)];
			}
			//КоэффициентАмортизации = СуммаОдного / ?(СуммаВсех = 0 ИЛИ СуммаВсех = NULL, 1, СуммаВсех);
			return null;
		}
		// ПолучитьКоэффициентАмортизацииИзГрафика()
		// Получает сводную таблицу графиков - годовых и индивидуальных одним запросом для оптимального чтения данных

		public object ПолучитьТаблицуГрафиков(/**/)
		{
			//Запрос = Новый Запрос();
			/*Запрос.Текст = "ВЫБРАТЬ
	|	Ссылка КАК График,
	|	Коэффициент1,
	|	Коэффициент2,
	|	Коэффициент3,
	|	Коэффициент4,
	|	Коэффициент5,
	|	Коэффициент6,
	|	Коэффициент7,
	|	Коэффициент8,
	|	Коэффициент9,
	|	Коэффициент10,
	|	Коэффициент11,
	|	Коэффициент12,
	|	Коэффициент1 + Коэффициент2 + Коэффициент3 + Коэффициент4 + Коэффициент5 + Коэффициент6 + Коэффициент7 + Коэффициент8 + Коэффициент9 + Коэффициент10 + Коэффициент11 + Коэффициент12 КАК СуммаКоэффициентов,
	|	ПУСТАЯТАБЛИЦА.(
	|		КАК График,
	|		КАК МесяцРасчета,
	|		КАК Коэффициент
	|	) КАК ТаблицаМесяцев
	|ИЗ
	|	Справочник.ГодовыеГрафикиАмортизацииОС КАК ГодовыеГрафикиАмортизацииОС
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Ссылка,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	NULL,
	|	График.(
	|		Ссылка,
	|		Месяц,
	|		Коэффициент
	|	)
	|ИЗ
	|	Справочник.ИндивидуальныеГрафикиАмортизации КАК ИндивидуальныеГрафикиАмортизации";*/
			return null;
		}
		// ПолучитьТаблицуГрафиков
		// Рассчитывает сумму амортизации по указаному основному средству по бух учету
		//
		// Параметры
		//  ОсновноеСредство                            - СправочникСсылка.ОсновныеСредства - ОС, по которому
		//                                                нужно рассчитать амортизацию.
		//  ДатаРасчета                                 - Дата - Дата расчета амортизации
		//
		// Возвращаемое значение:
		//   Число - Сумма начисленной амортизации
		//

		public object РасчетАмортизацииБухРегл(/*ДатаРасчета, Организация, ОсновноеСредство = Неопределено, ВыдаватьСообщения = Истина*/)
		{
			//ТаблицаАмортизации = Новый ТаблицаЗначений();
			//ТаблицаАмортизации.Колонки.Добавить("ОС",                     Новый ОписаниеТипов("СправочникСсылка.ОсновныеСредства"));
			//ТаблицаАмортизации.Колонки.Добавить("СчетУчетаБУ",            Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			//ТаблицаАмортизации.Колонки.Добавить("СчетАмортизацииБУ",      Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			//ТаблицаАмортизации.Колонки.Добавить("ИмяСубконто",            Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(16)));
			//ТаблицаАмортизации.Колонки.Добавить("НаправлениеАмортизации", Новый ОписаниеТипов("СправочникСсылка.СпособыОтраженияРасходовПоАмортизации"));
			//ТаблицаАмортизации.Колонки.Добавить("Бух",                    Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("Организация",      Организация);
			//Запрос.УстановитьПараметр("ОсновноеСредство", ОсновноеСредство);
			//Запрос.УстановитьПараметр("НачалоГода",	      Новый Граница(НачалоГода(ДатаРасчета)));
			//Запрос.УстановитьПараметр("НачалоПериода",    Новый Граница(НачалоМесяца(ДатаРасчета), ВидГраницы.Исключая));
			//Запрос.УстановитьПараметр("КонецПериода",     Новый Граница(КонецМесяца(ДатаРасчета)));
			//Запрос.УстановитьПараметр("Период",           ДатаРасчета);
			//УсловиеПоОС = ?( ОсновноеСредство = Неопределено, "", " И ОсновноеСредство В (&ОсновноеСредство) ");
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	СостоянияОСОрганизаций.ОсновноеСредство КАК ОсновноеСредство
	|ПОМЕСТИТЬ
	|	СнятыеСУчета
	|ИЗ
	|	РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
	|ГДЕ
	|	СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.СнятоСУчета) И
	|	СостоянияОСОрганизаций.ДатаСостояния < &Период И
	|	СостоянияОСОрганизаций.Организация = &Организация " + УсловиеПоОС + "
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НачислениеАмортизацииБухгалтерскийУчетСрезПоследних.ОсновноеСредство                КАК ОсновноеСредство,
	|	ПРЕДСТАВЛЕНИЕ(НачислениеАмортизацииБухгалтерскийУчетСрезПоследних.ОсновноеСредство) КАК ОсновноеСредствоПредставление,
	|	НачислениеАмортизацииБухгалтерскийУчетСрезПоследних.ОсновноеСредство.Код            КАК Код
	|ПОМЕСТИТЬ
	|	СписокОС
	|ИЗ
	|	РегистрСведений.НачислениеАмортизацииОСБухгалтерскийУчет.СрезПоследних(&НачалоПериода, Организация = &Организация " + УсловиеПоОС + "
	|	И ОсновноеСредство НЕ В (ВЫБРАТЬ ОсновноеСредство ИЗ СнятыеСУчета)) КАК НачислениеАмортизацииБухгалтерскийУчетСрезПоследних	
	|ГДЕ
	|	НачислениеАмортизацииБухгалтерскийУчетСрезПоследних.НачислятьАмортизацию = ИСТИНА
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ОсновноеСредство                     КАК ОсновноеСредство,
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ИнвентарныйНомер                     КАК ИнвентарныйНомер,
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.СпособНачисленияАмортизации          КАК СпособНачисленияАмортизации,
	|	ЕСТЬNULL(ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ПервоначальнаяСтоимость, 0) КАК ПервоначальнаяСтоимость,
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ПараметрВыработки                    КАК ПараметрВыработки
	|ПОМЕСТИТЬ
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних
	|ИЗ
	|	РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних(&НачалоПериода, Организация = &Организация 
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВыработкаОСОбороты.ОсновноеСредство              КАК ОсновноеСредство,
	|	ВыработкаОСОбороты.ПараметрВыработки             КАК ПараметрВыработки,
	|	ЕСТЬNULL(ВыработкаОСОбороты.КоличествоОборот, 0) КАК ОбъемВыработки
	|ПОМЕСТИТЬ
	|	ВыработкаОС
	|ИЗ
	|	РегистрНакопления.ВыработкаОС.Обороты(&НачалоПериода, &КонецПериода,, ПараметрВыработки В (ВЫБРАТЬ ПараметрВыработки ИЗ ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних) 
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК ВыработкаОСОбороты
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.ОсновноеСредство                                         КАК ОсновноеСредство,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.СрокИспользованияДляВычисленияАмортизации, 0)   КАК СрокИспользованияДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.СтоимостьДляВычисленияАмортизации, 0)           КАК СтоимостьДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.ОбъемПродукцииРаботДляВычисленияАмортизации, 0) КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.КоэффициентАмортизации, 0)                      КАК КоэффициентАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.КоэффициентУскорения, 0)                        КАК КоэффициентУскорения,
	|	ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.Период                                                   КАК Период
	|ПОМЕСТИТЬ
	|	ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних
	|ИЗ
	|	РегистрСведений.ПараметрыАмортизацииОСБухгалтерскийУчет.СрезПоследних(&НачалоПериода, Организация = &Организация
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ГрафикиАмортизацииБухгалтерскийУчетСрезПоследних.ОсновноеСредство  КАК ОсновноеСредство,
	|	ГрафикиАмортизацииБухгалтерскийУчетСрезПоследних.ГрафикАмортизации КАК ГрафикАмортизации
	|ПОМЕСТИТЬ
	|	ГрафикиАмортизацииБухгалтерскийУчетСрезПоследних
	|ИЗ
	|	РегистрСведений.ГрафикиАмортизацииОСБухгалтерскийУчет.СрезПоследних(&НачалоПериода, Организация = &Организация
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК ГрафикиАмортизацииБухгалтерскийУчетСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СпособыОтраженияРасходовПоАмортизацииСрезПоследних.ОсновноеСредство                      КАК ОсновноеСредство,
	|	СпособыОтраженияРасходовПоАмортизацииСрезПоследних.СпособыОтраженияРасходовПоАмортизации КАК СпособыОтраженияРасходовПоАмортизации
	|ПОМЕСТИТЬ
	|	СпособыОтраженияРасходовПоАмортизацииСрезПоследних
	|ИЗ
	|	РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет.СрезПоследних(&НачалоПериода, Организация = &Организация 
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК СпособыОтраженияРасходовПоАмортизацииСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	АмортизацияБухгалтерскийУчетОстаткиИОбороты.ОсновноеСредство                         КАК ОсновноеСредство,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток, 0)   КАК СтоимостьНачальныйОстаток,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.АмортизацияНачальныйОстаток, 0) КАК АмортизацияНачальныйОстаток,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.АмортизацияКонечныйОстаток, 0)  КАК АмортизацияКонечныйОстаток,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.АмортизацияОборот, 0)           КАК АмортизацияОборот,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.СтоимостьКонечныйОстаток, 0)    КАК БалансоваяСтоимость
	|ПОМЕСТИТЬ
	|	АмортизацияБухгалтерскийУчетОстаткиИОбороты
	|ИЗ
	|	РегистрНакопления.СтоимостьОСБухгалтерскийУчет.ОстаткиИОбороты(&НачалоПериода, &КонецПериода,,, Организация = &Организация
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК АмортизацияБухгалтерскийУчетОстаткиИОбороты
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних.ОсновноеСредство          КАК ОсновноеСредство,
	|	СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних.СчетУчета                 КАК СчетУчета,
	|	СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних.СчетНачисленияАмортизации КАК СчетНачисленияАмортизации
	|ПОМЕСТИТЬ
	|	СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних
	|ИЗ
	|	РегистрСведений.СчетаБухгалтерскогоУчетаОС.СрезПоследних(&КонецПериода, Организация = &Организация 
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	АмортизацияНаНачалоГода.ОсновноеСредство                                                                                          КАК ОсновноеСредство,
	|	ЕСТЬNULL(АмортизацияНаНачалоГода.СтоимостьНачальныйОстаток, 0) - ЕСТЬNULL(АмортизацияНаНачалоГода.АмортизацияНачальныйОстаток, 0) КАК СтоимостьНаНачалоГода
	|ПОМЕСТИТЬ
	|	АмортизацияНаНачалоГода
	|ИЗ
	|	РегистрНакопления.СтоимостьОСБухгалтерскийУчет.ОстаткиИОбороты(&НачалоГода,,,, Организация = &Организация 
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК АмортизацияНаНачалоГода
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ОсновныеСредстваСписанныеНаЗатратыОрганизацииОстатки.ОсновноеСредство              КАК ОсновноеСредство,
	|	ЕСТЬNULL(ОсновныеСредстваСписанныеНаЗатратыОрганизацииОстатки.СтоимостьОстаток, 0) КАК СтоимостьОстаток
	|ПОМЕСТИТЬ
	|	ОсновныеСредстваСписанныеНаЗатратыОрганизацииОстатки
	|ИЗ
	|	РегистрНакопления.ОССписанныеНаЗатратыОрганизаций.Остатки(&КонецПериода, Организация = &Организация 
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК ОсновныеСредстваСписанныеНаЗатратыОрганизацииОстатки
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СписокОС.ОсновноеСредство                                                                                   КАК ОсновноеСредство,
	|	СписокОС.ОсновноеСредствоПредставление                                                                      КАК ОсновноеСредствоПредставление,
	|	СписокОС.Код                                                                                                КАК Код,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток, 0)                          КАК СтоимостьНачальныйОстаток,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.АмортизацияНачальныйОстаток, 0)                        КАК АмортизацияНачальныйОстаток,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.АмортизацияКонечныйОстаток, 0)                         КАК АмортизацияКонечныйОстаток,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.АмортизацияОборот, 0)                                  КАК АмортизацияОборот,
	|	ЕСТЬNULL(АмортизацияБухгалтерскийУчетОстаткиИОбороты.БалансоваяСтоимость, 0)                                КАК БалансоваяСтоимость,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.СрокИспользованияДляВычисленияАмортизации, 0)   КАК СрокИспользованияДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.СтоимостьДляВычисленияАмортизации, 0)           КАК СтоимостьДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.ОбъемПродукцииРаботДляВычисленияАмортизации, 0) КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.КоэффициентАмортизации, 0)                      КАК КоэффициентАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.КоэффициентУскорения, 0)                        КАК КоэффициентУскорения,
	|	ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.Период                                                   КАК Период,
	|	ГрафикиАмортизацииБухгалтерскийУчетСрезПоследних.ГрафикАмортизации                                          КАК ГрафикАмортизации,
	|	СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних.СчетУчета                                              КАК СчетУчета,
	|	СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних.СчетНачисленияАмортизации                              КАК СчетНачисленияАмортизации,
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ИнвентарныйНомер                          КАК ИнвентарныйНомер,
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.СпособНачисленияАмортизации               КАК СпособНачисленияАмортизации,
	|	ЕСТЬNULL(ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ПервоначальнаяСтоимость, 0)      КАК ПервоначальнаяСтоимость,
	|	СпособыОтраженияРасходовПоАмортизацииСрезПоследних.СпособыОтраженияРасходовПоАмортизации                    КАК СпособыОтраженияРасходовПоАмортизации,
	|	ЕСТЬNULL(АмортизацияНаНачалоГода.СтоимостьНаНачалоГода, 0)                                                  КАК СтоимостьНаНачалоГода,
	|	ЕСТЬNULL(ОсновныеСредстваСписанныеНаЗатратыОрганизацииОстатки.СтоимостьОстаток, 0)                          КАК СтоимостьОстаток,
	|	ЕСТЬNULL(ВыработкаОС.ОбъемВыработки, 0)                                                                     КАК ОбъемВыработки
	|ИЗ
	|	СписокОС
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ОсновноеСредство
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС
	|		ПО ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ОсновноеСредство = ВыработкаОС.ОсновноеСредство
	|		 И ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ПараметрВыработки = ВыработкаОС.ПараметрВыработки
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = ПараметрыАмортизацииБухгалтерскийУчетСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ ГрафикиАмортизацииБухгалтерскийУчетСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = ГрафикиАмортизацииБухгалтерскийУчетСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ СпособыОтраженияРасходовПоАмортизацииСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = СпособыОтраженияРасходовПоАмортизацииСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияБухгалтерскийУчетОстаткиИОбороты
	|	ПО СписокОС.ОсновноеСредство = АмортизацияБухгалтерскийУчетОстаткиИОбороты.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = СчетаБухгалтерскогоУчетаОсновныхСредствСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияНаНачалоГода
	|	ПО СписокОС.ОсновноеСредство = АмортизацияНаНачалоГода.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ ОсновныеСредстваСписанныеНаЗатратыОрганизацииОстатки
	|	ПО СписокОС.ОсновноеСредство = ОсновныеСредстваСписанныеНаЗатратыОрганизацииОстатки.ОсновноеСредство
	|";*/
			//ВыборкаПоОС     = Запрос.Выполнить().Выбрать();
			//ТаблицаГрафиков = ПолучитьТаблицуГрафиков();
			while(true/*ВыборкаПоОС.Следующий()*/)
			{
				if(true/*НЕ ВыборкаПоОС.СтоимостьОстаток = 0*/)
				{
					/*// ОС списано на затраты - не обрабатывается.
*/
				}
				/*ТекстСообщения = "Бух. расчет амортизации: для основного средства " + СокрЛП(ВыборкаПоОС.ОсновноеСредствоПредставление)
		               + " (" + СокрЛП(ВыборкаПоОС.Код) + "), инв. № " + СокрЛП(ВыборкаПоОС.ИнвентарныйНомер);*/
				if(true/*(ВыборкаПоОС.СтоимостьНачальныйОстаток <= ВыборкаПоОС.АмортизацияНачальныйОстаток)*/)
				{
					/*// остаточная стоимость на начало месяца равна 0
*/
				}
				if(true/*НЕ ВыборкаПоОС.АмортизацияОборот = 0*/)
				{
					if(true/*ВыдаватьСообщения = Истина и не (ОсновноеСредство = Неопределено)*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " амортизация в этом месяце уже начислялась");
					}
					/*// по указанному ОС в этом месяце уже начисляли амортизацию 
*/
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.СпособНачисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " не указан способ амортизации");
					}
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.СтоимостьДляВычисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " стоимость равна 0");
					}
				}
				if(true/*(ВыборкаПоОС.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.Линейный 
		 ИЛИ ВыборкаПоОС.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.ПоСуммеЧиселЛетИспользования
		 ИЛИ ВыборкаПоОС.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.УменьшаемогоОстатка)
		   И НЕ ЗначениеЗаполнено(ВыборкаПоОС.СрокИспользованияДляВычисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " срок использования равен 0");
					}
				}
				//СуммаАмортизации = 0;
				if(true/*ВыборкаПоОС.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.Линейный*/)
				{
					/*СуммаГодовойАмортизации = ВыборкаПоОС.СтоимостьДляВычисленияАмортизации /
			                          ?(ВыборкаПоОС.СрокИспользованияДляВычисленияАмортизации = 0, 1, ВыборкаПоОС.СрокИспользованияДляВычисленияАмортизации) * 12;*/
					if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.ГрафикАмортизации)*/)
					{
						//СуммаАмортизации   = СуммаГодовойАмортизации / 12;
					}
				}
				if(true/*КоэффициентПериода = 0*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " коэффициент амортизации равен 0");
					}
				}
				//ВсегоОсталосьСписать = ВыборкаПоОС.БалансоваяСтоимость - ВыборкаПоОС.АмортизацияКонечныйОстаток;
				/*// Балансовая стоимость не может быть меньше 0
*/
				//СуммаАмортизации  = Макс( Мин( СуммаАмортизации, ВсегоОсталосьСписать), 0);
				//СтрокаАмортизации = ТаблицаАмортизации.Добавить();
				//СтрокаАмортизации.ОС                     = ВыборкаПоОС.ОсновноеСредство;
				//СтрокаАмортизации.СчетУчетаБУ            = ВыборкаПоОС.СчетУчета;
				//СтрокаАмортизации.СчетАмортизацииБУ      = ВыборкаПоОС.СчетНачисленияАмортизации;
				//СтрокаАмортизации.ИмяСубконто            = "ОсновныеСредства";
				//СтрокаАмортизации.НаправлениеАмортизации = ВыборкаПоОС.СпособыОтраженияРасходовПоАмортизации;
				//СтрокаАмортизации.Бух                    = СуммаАмортизации;
				if(true/*СуммаАмортизации = 0*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " амортизация равна 0");
					}
				}
			}
			return null;
		}
		// РасчетАмортизацииБухРегл()
		// Рассчитывает сумму амортизации по указаному основному средству по бух учету
		//
		// Параметры
		//  ОсновноеСредство                            - СправочникСсылка.ОсновныеСредства - ОС, по которому
		//                                                нужно рассчитать амортизацию.
		//  ДатаРасчета                                 - Дата - Дата расчета амортизации
		//
		// Возвращаемое значение:
		//   Число - Сумма начисленной амортизации
		//

		public object РасчетАмортизацииНалогРегл(/*Объект,ДатаРасчета,Организация,ОсновноеСредство = Неопределено, ВыдаватьСообщения = Истина*/)
		{
			//ТаблицаАмортизации = Новый ТаблицаЗначений();
			//ТаблицаАмортизации.Колонки.Добавить("ОС",                                         Новый ОписаниеТипов("СправочникСсылка.ОсновныеСредства"));
			//ТаблицаАмортизации.Колонки.Добавить("СчетУчетаНУ",                                Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
			//ТаблицаАмортизации.Колонки.Добавить("СчетАмортизацииНУ",                          Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
			//ТаблицаАмортизации.Колонки.Добавить("ИмяСубконто",                                Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(16)));
			//ТаблицаАмортизации.Колонки.Добавить("НаправлениеАмортизации",                     Новый ОписаниеТипов("СправочникСсылка.СпособыОтраженияРасходовПоАмортизации"));
			//ТаблицаАмортизации.Колонки.Добавить("Налог",                                      Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаАмортизации.Колонки.Добавить("СуммаКапитальныхВложенийВключаемыхВРасходы", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("Организация",                  Организация);
			//Запрос.УстановитьПараметр("НачалоПериодаУчетнойПолитики", НачалоМесяца(ДатаРасчета));
			//Запрос.УстановитьПараметр("НачалоПериода",                Новый Граница(НачалоМесяца(ДатаРасчета), ВидГраницы.Исключая));
			//Запрос.УстановитьПараметр("КонецПериода",                 Новый Граница(КонецМесяца(ДатаРасчета)));
			//Запрос.УстановитьПараметр("Период",                       ДатаРасчета);
			//Запрос.УстановитьПараметр("ОсновноеСредство",             ОсновноеСредство);
			//Запрос.УстановитьПараметр("ДатаПереходаКЛинейномуМетоду", ПолучитьДатуПереходаКЛинейномуМетоду(ДатаРасчета, Организация));
			//УсловиеПоОС = ?(ОсновноеСредство = Неопределено, "", " И ОсновноеСредство В (&ОсновноеСредство) ");
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	НачислениеАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство                       КАК ОсновноеСредство,
	|	ПРЕДСТАВЛЕНИЕ(НачислениеАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство)        КАК ОсновноеСредствоПредставление,
	|	НачислениеАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство.Код                   КАК Код,
	|	НачислениеАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство.ГруппаОС              КАК ГруппаОС,
	|	НачислениеАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство.АмортизационнаяГруппа КАК АмортизационнаяГруппа
	|ПОМЕСТИТЬ
	|	СписокОС
	|ИЗ
	|	РегистрСведений.НачислениеАмортизацииОСНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация " + УсловиеПоОС + ") КАК НачислениеАмортизацииНалоговыйУчетСрезПоследних	
	|ГДЕ
	|	НачислениеАмортизацииНалоговыйУчетСрезПоследних.НачислятьАмортизацию = ИСТИНА
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ОсновноеСредство           КАК ОсновноеСредство,
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.Период                     КАК ДатаПринятияКУчету
	|ПОМЕСТИТЬ
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних
	|ИЗ
	|	РегистрСведений.ПервоначальныеСведенияОСНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация 
	|	И ПорядокВключенияСтоимостиВСоставРасходов = ЗНАЧЕНИЕ(Перечисление.ПорядокВключенияСтоимостиОСВСоставРасходовНУ.НачислениеАмортизации)
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПараметрыАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство                        КАК ОсновноеСредство,
	|	ЕСТЬNULL(ПараметрыАмортизацииНалоговыйУчетСрезПоследних.СрокПолезногоИспользования, 0) КАК СрокПолезногоИспользования
	|ПОМЕСТИТЬ
	|	ПараметрыАмортизацииНалоговыйУчетСрезПоследних
	|ИЗ
	|	РегистрСведений.ПараметрыАмортизацииОСНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК ПараметрыАмортизацииНалоговыйУчетСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	АмортизацияНалоговыйУчетОстаткиИОбороты.ОсновноеСредство                         КАК ОсновноеСредство,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.АмортизацияПриход, 0)           КАК АмортизацияВМесяце,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.СтоимостьНачальныйОстаток, 0)   КАК СтоимостьНаНачалоМесяца,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.СтоимостьКонечныйОстаток, 0)    КАК СтоимостьНаКонецМесяца,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.АмортизацияНачальныйОстаток, 0) КАК АмортизацияНачальныйОстаток,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.АмортизацияКонечныйОстаток, 0)  КАК АмортизацияКонечныйОстаток
	|ПОМЕСТИТЬ
	|	АмортизацияНалоговыйУчетОстаткиИОбороты
	|ИЗ
	|	РегистрНакопления.СтоимостьОСНалоговыйУчет.ОстаткиИОбороты(&НачалоПериода, &КонецПериода,,, Организация = &Организация
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК АмортизацияНалоговыйУчетОстаткиИОбороты
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СчетаНалоговогоУчетаОсновныхСредствСрезПоследних.ОсновноеСредство          КАК ОсновноеСредство,
	|	СчетаНалоговогоУчетаОсновныхСредствСрезПоследних.СчетНачисленияАмортизации КАК СчетНачисленияАмортизации,
	|	СчетаНалоговогоУчетаОсновныхСредствСрезПоследних.СчетУчета                 КАК СчетУчета
	|ПОМЕСТИТЬ
	|	СчетаНалоговогоУчетаОсновныхСредствСрезПоследних
	|ИЗ
	|	РегистрСведений.СчетаНалоговогоУчетаОС.СрезПоследних(&НачалоПериода, Организация = &Организация
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК СчетаНалоговогоУчетаОсновныхСредствСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство                    КАК ОсновноеСредство,
	|	ЕСТЬNULL(СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних.СпециальныйКоэффициент, 0) КАК СпециальныйКоэффициент
	|ПОМЕСТИТЬ
	|	СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних
	|ИЗ
	|	РегистрСведений.НачислениеАмортизацииОССпециальныйКоэффициентНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.ОсновноеСредство                                   КАК ОсновноеСредство,
	|	НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.ПризнакНачисленияПоБазовойСтоимости                КАК ПризнакНачисленияПоБазовойСтоимости,
	|	ЕСТЬNULL(НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.СуммаНакопленнойАмортизации, 0)           КАК СуммаНакопленнойАмортизации,
	|	ЕСТЬNULL(НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.ФактическийСрокполезногоИспользования, 0) КАК ФактическийСрокполезногоИспользования
	|ПОМЕСТИТЬ
	|	НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних
	|ИЗ
	|	РегистрСведений.НачислениеАмортизацииОСПоБазовойСтоимостиНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация 
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НаправленияАмортизации.ОсновноеСредство                      КАК ОсновноеСредство,
	|	НаправленияАмортизации.СпособыОтраженияРасходовПоАмортизации КАК НаправлениеАмортизации
	|ПОМЕСТИТЬ
	|	НаправленияАмортизации
	|ИЗ
	|	РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОСНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация
	|	И ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК НаправленияАмортизации
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НалоговыйОстатки.Субконто1                   КАК ОсновноеСредство,
	|	ЕСТЬNULL(НалоговыйОстатки.СуммаОстатокДт, 0) КАК СуммаКапитальныхВложенийВключаемыхВРасходы
	|ПОМЕСТИТЬ
	|	НалоговыйОстатки
	|ИЗ
	|	РегистрБухгалтерии.Налоговый.Остатки(&НачалоПериода, Счет = ЗНАЧЕНИЕ(ПланСчетов.Налоговый.РасходыНаКапитальныеВложения), ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства), Организация = &Организация
	|	И Субконто1 В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС)) КАК НалоговыйОстатки	
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	УчетнаяПолитикаОрганизацийСрезПоследних.МетодНачисленияАмортизацииНУ КАК МетодНачисленияАмортизацииНУ
	|ПОМЕСТИТЬ
	|	УчетнаяПолитикаОрганизацийСрезПоследних
	|ИЗ
	|	РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(&НачалоПериодаУчетнойПолитики, Организация = &Организация) КАК УчетнаяПолитикаОрганизацийСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СостоянияОСОрганизаций.ОсновноеСредство,
	|	МАКСИМУМ(СостоянияОСОрганизаций.ДатаСостояния) КАК ДатаВводаВЭксплуатацию
	|ПОМЕСТИТЬ
	|	СостоянияОСОрганизаций
	|ИЗ
	|	РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
	|ГДЕ
	|	СостоянияОСОрганизаций.Организация = &Организация
	|	И СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВведеноВЭксплуатацию)
	|СГРУППИРОВАТЬ ПО
	|	СостоянияОСОрганизаций.ОсновноеСредство
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	СписокОС.ОсновноеСредство КАК ОсновноеСредство
	|ПОМЕСТИТЬ
	|	СписокОССОстаточнойСтоимостью
	|ИЗ 
	|	СписокОС
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ОсновноеСредство
	|ГДЕ
	|	СписокОС.ОсновноеСредство НЕ В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОС ГДЕ 
	|		(СписокОС.АмортизационнаяГруппа В (ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ВосьмаяГруппа), 
	|		                                      ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ДевятаяГруппа), 
	|		                                      ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ДесятаяГруппа))
	|		 И СписокОС.ГруппаОС В (ЗНАЧЕНИЕ(Перечисление.ГруппыОС.Здания), 
	|		                           ЗНАЧЕНИЕ(Перечисление.ГруппыОС.Сооружения))) 
	|		ИЛИ (СписокОС.АмортизационнаяГруппа = ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ОтдельнаяГруппа)))
	|	И ВЫБОР КОГДА ГОД(&ДатаПереходаКЛинейномуМетоду) = 2009 ТОГДА
	|		(ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.МетодыНачисленияАмортизации.Нелинейный))
	|	  ИНАЧЕ ИСТИНА КОНЕЦ
	|	
	|ИНДЕКСИРОВАТЬ ПО
	|	ОсновноеСредство
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	АмортизацияОСНачалоПериода.Субконто1      КАК ОсновноеСредство,
	|	АмортизацияОСНачалоПериода.СуммаОстатокКт КАК АмортизацияНачальныйОстаток
	|ПОМЕСТИТЬ
	|	АмортизацияОСПриПереходеКЛинейномуМетоду
	|ИЗ 
	|	РегистрБухгалтерии.Налоговый.Остатки(&ДатаПереходаКЛинейномуМетоду, 
	|	                                     Счет В (ВЫБРАТЬ РАЗЛИЧНЫЕ СчетНачисленияАмортизации ИЗ СчетаНалоговогоУчетаОсновныхСредствСрезПоследних),
	|	                                     ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства), 
	|	                                     Организация = &Организация 
	|	                                     И ВидУчета = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаПоПБУ18.НУ)) КАК АмортизацияОСНачалоПериода
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокОССОстаточнойСтоимостью
	|	ПО СписокОССОстаточнойСтоимостью.ОсновноеСредство = АмортизацияОСНачалоПериода.Субконто1	
	|ДЛЯ ИЗМЕНЕНИЯ
	|	РегистрБухгалтерии.Налоговый.Остатки
	|ИНДЕКСИРОВАТЬ ПО
	|	ОсновноеСредство
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СписокОС.ОсновноеСредство                                                                                            КАК ОсновноеСредство,
	|	СписокОС.ОсновноеСредствоПредставление                                                                               КАК ОсновноеСредствоПредставление,
	|	СписокОС.Код                                                                                                         КАК Код,
	|	СписокОС.АмортизационнаяГруппа                                                                                       КАК АмортизационнаяГруппа,
	|	СчетаНалоговогоУчетаОсновныхСредствСрезПоследних.СчетНачисленияАмортизации                                           КАК СчетНачисленияАмортизации,
	|	СчетаНалоговогоУчетаОсновныхСредствСрезПоследних.СчетУчета                                                           КАК СчетУчета,
	|	ЕСТЬNULL(ПараметрыАмортизацииНалоговыйУчетСрезПоследних.СрокПолезногоИспользования, 0)                               КАК СрокПолезногоИспользования,
	|	ЕСТЬNULL(АмортизацияОСПриПереходеКЛинейномуМетоду.АмортизацияНачальныйОстаток, 0) КАК АмортизацияПриПереходеКЛинейномуМетоду,
	|	ЕСТЬNULL(ПараметрыАмортизацииНалоговыйУчетСрезПоследних.СрокПолезногоИспользования, 0) - ((ГОД(&ДатаПереходаКЛинейномуМетоду) - ГОД(СостоянияОСОрганизаций.ДатаВводаВЭксплуатацию)) * 12 + (МЕСЯЦ(&ДатаПереходаКЛинейномуМетоду) - МЕСЯЦ(СостоянияОСОрганизаций.ДатаВводаВЭксплуатацию))) + 1 КАК ОстатокСрокаПриПереходеКЛинейномуМетоду,
	|	ВЫБОР КОГДА (СписокОС.ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокОССОстаточнойСтоимостью) И ГОД(&Период) >= 2009) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ПереходКЛинейномуМетоду,
	|	ВЫБОР КОГДА ГОД(&Период) < 2009 ТОГДА
	|		ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.МетодНачисленияАмортизации
	|	ИНАЧЕ
	|		ВЫБОР КОГДА (СписокОС.АмортизационнаяГруппа В (ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ВосьмаяГруппа), ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ДевятаяГруппа), ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ДесятаяГруппа))
	|		          И СписокОС.ГруппаОС В (ЗНАЧЕНИЕ(Перечисление.ГруппыОС.Здания), ЗНАЧЕНИЕ(Перечисление.ГруппыОС.Сооружения))) ИЛИ (СписокОС.АмортизационнаяГруппа = ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ОтдельнаяГруппа)) ТОГДА
	|			ЗНАЧЕНИЕ(Перечисление.МетодыНачисленияАмортизации.Линейный)
	|		ИНАЧЕ
	|			УчетнаяПолитикаОрганизацийСрезПоследних.МетодНачисленияАмортизацииНУ
	|		КОНЕЦ
	|	КОНЕЦ КАК МетодНачисленияАмортизации,
	|	ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ДатаПринятияКУчету                                 КАК ДатаПринятияКУчету,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.АмортизацияВМесяце, 0)                                              КАК АмортизацияВМесяце,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.СтоимостьНаНачалоМесяца, 0)                                         КАК СтоимостьНаНачалоМесяца,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.СтоимостьНаКонецМесяца, 0)                                          КАК СтоимостьНаКонецМесяца,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.АмортизацияНачальныйОстаток, 0)                                     КАК АмортизацияНачальныйОстаток,
	|	ЕСТЬNULL(АмортизацияНалоговыйУчетОстаткиИОбороты.АмортизацияКонечныйОстаток, 0)                                      КАК АмортизацияКонечныйОстаток,
	|	ЕСТЬNULL(СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних.СпециальныйКоэффициент, 0)                   КАК СпециальныйКоэффициент,
	|	НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.ПризнакНачисленияПоБазовойСтоимости                КАК ПризнакНачисленияПоБазовойСтоимости,
	|	ЕСТЬNULL(НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.СуммаНакопленнойАмортизации, 0)           КАК СуммаНакопленнойАмортизации,
	|	ЕСТЬNULL(НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.ФактическийСрокполезногоИспользования, 0) КАК ФактическийСрокполезногоИспользования,
	|	НаправленияАмортизации.НаправлениеАмортизации                                                                        КАК НаправлениеАмортизации,
	|	ЕСТЬNULL(НалоговыйОстатки.СуммаКапитальныхВложенийВключаемыхВРасходы, 0)                                             КАК СуммаКапитальныхВложенийВключаемыхВРасходы
	|ИЗ
	|	СписокОС
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = ПервоначальныеСведенияОбОсновныхСредствахОрганизацийСрезПоследних.ОсновноеСредство 
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииНалоговыйУчетСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = ПараметрыАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияНалоговыйУчетОстаткиИОбороты
	|	ПО СписокОС.ОсновноеСредство = АмортизацияНалоговыйУчетОстаткиИОбороты.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ СчетаНалоговогоУчетаОсновныхСредствСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = СчетаНалоговогоУчетаОсновныхСредствСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних
	|	ПО СписокОС.ОсновноеСредство = НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ НаправленияАмортизации
	|	ПО СписокОС.ОсновноеСредство = НаправленияАмортизации.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ НалоговыйОстатки	
	|	ПО СписокОС.ОсновноеСредство = НалоговыйОстатки.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ УчетнаяПолитикаОрганизацийСрезПоследних 
	|	ПО ИСТИНА
	|	ЛЕВОЕ СОЕДИНЕНИЕ СостоянияОСОрганизаций
	|	ПО СписокОС.ОсновноеСредство = СостоянияОСОрганизаций.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОСПриПереходеКЛинейномуМетоду 
	|	ПО СписокОС.ОсновноеСредство = АмортизацияОСПриПереходеКЛинейномуМетоду.ОсновноеСредство
	|";*/
			//ВыборкаПоОС = Запрос.Выполнить().Выбрать();
			while(true/*ВыборкаПоОС.Следующий()*/)
			{
				if(true/*НЕ ВыборкаПоОС.АмортизацияВМесяце = 0*/)
				{
					/*// по указанному ОС в этом месяце уже начисляли амортизацию 
*/
				}
				if(true/*ВыборкаПоОС.СтоимостьНаНачалоМесяца = 0*/)
				{
					/*// стоимость на начало месяца равна нулю 
*/
				}
				/*ТекстСообщения = "Налог. расчет амортизации: для основного средства " + СокрЛП(ВыборкаПоОС.ОсновноеСредствоПредставление)
		               + " (" + СокрЛП(ВыборкаПоОС.Код) + ")";*/
				if(true/*ВыборкаПоОС.СтоимостьНаНачалоМесяца <= ВыборкаПоОС.АмортизацияНачальныйОстаток*/)
				{
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.МетодНачисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " не указан метод амортизации");
					}
				}
				if(true/*Год(ДатаРасчета) < 2009 
		 ИЛИ ВыборкаПоОС.МетодНачисленияАмортизации = Перечисления.МетодыНачисленияАмортизации.Линейный*/)
				{
					if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.СрокПолезногоИспользования)*/)
					{
						if(true/*ВыдаватьСообщения*/)
						{
							//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " не указан срок полезного использования");
						}
					}
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.СчетНачисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " не указан счет для начисления амортизации");
					}
				}
				//СуммаАмортизации       = 0;
				/*СтоимостьДляВычисления = ВыборкаПоОС.СтоимостьНаНачалоМесяца - ВыборкаПоОС.СуммаКапитальныхВложенийВключаемыхВРасходы
		                       - ?(ВыборкаПоОС.ПереходКЛинейномуМетоду, ВыборкаПоОС.АмортизацияПриПереходеКЛинейномуМетоду, 0);*/
				/*СрокИспользованияДляВычисления = Макс(1, ?(ВыборкаПоОС.ПереходКЛинейномуМетоду,
		                                           ВыборкаПоОС.ОстатокСрокаПриПереходеКЛинейномуМетоду,
												   ВыборкаПоОС.СрокПолезногоИспользования));*/
				if(true/*ВыборкаПоОС.МетодНачисленияАмортизации = Перечисления.МетодыНачисленияАмортизации.Линейный*/)
				{
					/*СуммаАмортизации = СтоимостьДляВычисления / СрокИспользованияДляВычисления *
			                   ?(ВыборкаПоОС.СпециальныйКоэффициент = 0, 1, ВыборкаПоОС.СпециальныйКоэффициент);*/
				}
				//Остатки = ВыборкаПоОС.СтоимостьНаКонецМесяца - ВыборкаПоОС.АмортизацияКонечныйОстаток;
				//СуммаАмортизации  = Макс(0, Мин(Остатки, СуммаАмортизации));
				//СтрокаАмортизации = ТаблицаАмортизации.Добавить();
				//СтрокаАмортизации.ОС                                         = ВыборкаПоОС.ОсновноеСредство;
				//СтрокаАмортизации.СчетУчетаНУ                                = ВыборкаПоОС.СчетУчета;
				//СтрокаАмортизации.СчетАмортизацииНУ                          = ВыборкаПоОС.СчетНачисленияАмортизации;
				//СтрокаАмортизации.ИмяСубконто                                = "ОсновныеСредства";
				//СтрокаАмортизации.НаправлениеАмортизации                     = ВыборкаПоОС.НаправлениеАмортизации;
				//СтрокаАмортизации.Налог                                      = СуммаАмортизации;
				//СтрокаАмортизации.СуммаКапитальныхВложенийВключаемыхВРасходы = ВыборкаПоОС.СуммаКапитальныхВложенийВключаемыхВРасходы;
				if(true/*СуммаАмортизации = 0*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " амортизация равна 0");
					}
				}
			}
			return null;
		}
		// РасчетАмортизацииНалогРегл
		// Рассчитывает сумму амортизации по указаному основному средству по упр учету
		//
		// Параметры
		//  ОсновноеСредство                            - СправочникСсылка.ОсновныеСредства - ОС, по которому
		//                                                нужно рассчитать амортизацию.
		//  ДатаРасчета                                 - Дата - Дата расчета амортизации
		//
		// Возвращаемое значение:
		//   Число - Сумма начисленной амортизации
		//

		public object РасчетАмортизацииУпр(/*ДатаРасчета,ОсновноеСредство = Неопределено, ВыдаватьСообщения = Истина*/)
		{
			//ТаблицаАмортизации = Новый ТаблицаЗначений();
			//ТаблицаАмортизации.Колонки.Добавить("ОС");
			//ТаблицаАмортизации.Колонки.Добавить("Упр", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаАмортизации.Колонки.Добавить("НаправлениеАмортизации", Новый ОписаниеТипов("СправочникСсылка.СпособыОтраженияРасходовПоАмортизации"));
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("НачалоГода",       НачалоГода(ДатаРасчета));
			//Запрос.УстановитьПараметр("НачалоПериода",    НачалоМесяца(ДатаРасчета));
			//Запрос.УстановитьПараметр("КонецПериода",     КонецМесяца(ДатаРасчета));
			//Запрос.УстановитьПараметр("ОсновноеСредство", ОсновноеСредство);
			//УсловиеПоОС = ?( ОсновноеСредство = Неопределено, "", " ОсновноеСредство В (&ОсновноеСредство) ");
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	ПервоначальныеСведенияОССрезПоследних.ОсновноеСредство                     КАК ОсновноеСредство,
	|	ПервоначальныеСведенияОССрезПоследних.ПараметрВыработки                    КАК ПараметрВыработки,
	|	ПервоначальныеСведенияОССрезПоследних.СпособНачисленияАмортизации          КАК СпособНачисленияАмортизации,
	|	ЕСТЬNULL(ПервоначальныеСведенияОССрезПоследних.ПервоначальнаяСтоимость, 0) КАК ПервоначальнаяСтоимость
	|ПОМЕСТИТЬ
	|   ПервоначальныеСведенияОССрезПоследних
	|ИЗ	
	|	РегистрСведений.ПервоначальныеСведенияОС.СрезПоследних(&КонецПериода, " + УсловиеПоОС + ") КАК ПервоначальныеСведенияОССрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НачислениеАмортизацииСрезПервых.ОсновноеСредство                   КАК ОсновноеСредство,
	|	НачислениеАмортизацииСрезПервых.НачислятьАмортизацию               КАК НачислятьАмортизацию,
	|	НачислениеАмортизацииСрезПервых.НачислятьАмортизациюВТекущемМесяце КАК НачислятьАмортизациюВТекущемМесяце,
	|	НачислениеАмортизацииСрезПервых.Период                             КАК Период
	|ПОМЕСТИТЬ
	|   СрезПервых
	|ИЗ
	|	РегистрСведений.НачислениеАмортизацииОС.СрезПоследних(&НачалоПериода, " + УсловиеПоОС + ") КАК НачислениеАмортизацииСрезПервых
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НачислениеАмортизацииСрезПоследних.ОсновноеСредство                   КАК ОсновноеСредство,
	|	НачислениеАмортизацииСрезПоследних.НачислятьАмортизацию               КАК НачислятьАмортизацию,
	|	НачислениеАмортизацииСрезПоследних.НачислятьАмортизациюВТекущемМесяце КАК НачислятьАмортизациюВТекущемМесяце,
	|	НачислениеАмортизацииСрезПоследних.Период                             КАК Период
	|ПОМЕСТИТЬ
	|   СрезПоследних
	|ИЗ
	|	РегистрСведений.НачислениеАмортизацииОС.СрезПоследних(&КонецПериода, " + УсловиеПоОС + ") КАК НачислениеАмортизацииСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПервоначальныеСведенияОССрезПоследних.ОсновноеСредство  КАК ОсновноеСредство,
	|	СрезПервых.НачислятьАмортизацию                         КАК НачалоНачислятьАмортизацию,
	|	СрезПоследних.НачислятьАмортизацию                      КАК КонецНачислятьАмортизацию,
	|	СрезПоследних.НачислятьАмортизациюВТекущемМесяце        КАК КонецНачислятьВТекущемМесяце
	|ПОМЕСТИТЬ
	|   СписокАмортизируемыхОС
	|ИЗ	
	|	ПервоначальныеСведенияОССрезПоследних
	|	ЛЕВОЕ СОЕДИНЕНИЕ СрезПервых
	|	ПО СрезПервых.ОсновноеСредство = ПервоначальныеСведенияОССрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ СрезПоследних
	|	ПО СрезПоследних.ОсновноеСредство = ПервоначальныеСведенияОССрезПоследних.ОсновноеСредство
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	АмортизацияОстаткиИОбороты.ОсновноеСредство                                                                                             КАК ОсновноеСредство,
	|	ЕСТЬNULL(АмортизацияОстаткиИОбороты.СтоимостьНачальныйОстаток, 0) - ЕСТЬNULL(АмортизацияОстаткиИОбороты.АмортизацияНачальныйОстаток, 0) КАК СтоимостьНаНачалоГода
	|ПОМЕСТИТЬ
	|   АмортизацияОстаткиИОбороты
	|ИЗ
	|	РегистрНакопления.СтоимостьОС.ОстаткиИОбороты(&НачалоГода,,,, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК АмортизацияОстаткиИОбороты
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СтоимостьОС.ОсновноеСредство                        КАК ОсновноеСредство,
	|	ЕСТЬNULL(СтоимостьОС.АмортизацияКонечныйОстаток, 0) КАК АмортизацияКонечныйОстаток,
	|	ЕСТЬNULL(СтоимостьОС.АмортизацияОборот, 0)          КАК АмортизацияОборот,
	|	ЕСТЬNULL(СтоимостьОС.СтоимостьКонечныйОстаток, 0)   КАК СтоимостьКонечныйОстаток,
	|	ЕСТЬNULL(СтоимостьОС.СтоимостьНачальныйОстаток, 0)  КАК СтоимостьНачальныйОстаток
	|ПОМЕСТИТЬ
	|   СтоимостьОС
	|ИЗ
	|	РегистрНакопления.СтоимостьОС.ОстаткиИОбороты(&НачалоПериода, &КонецПериода,,, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК СтоимостьОС
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ГрафикиАмортизацииСрезПоследних.ОсновноеСредство  КАК ОсновноеСредство,
	|	ГрафикиАмортизацииСрезПоследних.ГрафикАмортизации КАК ГрафикАмортизации                                      
	|ПОМЕСТИТЬ
	|   ГрафикиАмортизацииСрезПоследних
	|ИЗ
	|	РегистрСведений.ГрафикиАмортизацииОС.СрезПоследних(&КонецПериода, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК ГрафикиАмортизацииСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СпособыОтраженияРасходовПоАмортизацииСрезПоследних.ОсновноеСредство                      КАК ОсновноеСредство,
	|	СпособыОтраженияРасходовПоАмортизацииСрезПоследних.СпособыОтраженияРасходовПоАмортизации КАК СпособыОтраженияРасходовПоАмортизации
	|ПОМЕСТИТЬ
	|   СпособыОтраженияРасходовПоАмортизацииСрезПоследних
	|ИЗ
	|	РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОС.СрезПоследних(&КонецПериода, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК СпособыОтраженияРасходовПоАмортизацииСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПараметрыАмортизацииСрезПоследних.ОсновноеСредство                                         КАК ОсновноеСредство,
	|	ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце                                  КАК ПрименитьВТекущемМесяце,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследних.СрокИспользованияДляВычисленияАмортизации, 0)   КАК СрокИспользованияДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследних.СтоимостьДляВычисленияАмортизации, 0)           КАК СтоимостьДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследних.ОбъемПродукцииРаботДляВычисленияАмортизации, 0) КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследних.КоэффициентУскорения, 0)                        КАК КоэффициентУскорения,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследних.КоэффициентАмортизации, 0)                      КАК КоэффициентАмортизации,
	|	ПараметрыАмортизацииСрезПоследних.Период                                                   КАК Период
	|ПОМЕСТИТЬ
	|   ПараметрыАмортизацииСрезПоследних
	|ИЗ
	|	РегистрСведений.ПараметрыАмортизацииОС.СрезПоследних(&КонецПериода, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК ПараметрыАмортизацииСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ГрафикиАмортизацииСрезПоследнихНачалоМесяца.ОсновноеСредство  КАК ОсновноеСредство,
	|	ГрафикиАмортизацииСрезПоследнихНачалоМесяца.ГрафикАмортизации КАК ГрафикАмортизации                                      
	|ПОМЕСТИТЬ
	|   ГрафикиАмортизацииСрезПоследнихНачалоМесяца
	|ИЗ
	|	РегистрСведений.ГрафикиАмортизацииОС.СрезПоследних(&НачалоПериода, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК ГрафикиАмортизацииСрезПоследнихНачалоМесяца
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СпособыОтраженияРасходовПоАмортизацииСрезПоследнихНачалоМесяца.ОсновноеСредство                      КАК ОсновноеСредство,
	|	СпособыОтраженияРасходовПоАмортизацииСрезПоследнихНачалоМесяца.СпособыОтраженияРасходовПоАмортизации КАК СпособыОтраженияРасходовПоАмортизации
	|ПОМЕСТИТЬ
	|   СпособыОтраженияРасходовПоАмортизацииСрезПоследнихНачалоМесяца
	|ИЗ
	|	РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОС.СрезПоследних(&НачалоПериода, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК СпособыОтраженияРасходовПоАмортизацииСрезПоследнихНачалоМесяца
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПараметрыАмортизацииСрезПоследнихНачалоМесяца.ОсновноеСредство                                         КАК ОсновноеСредство,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследнихНачалоМесяца.СрокИспользованияДляВычисленияАмортизации, 0)   КАК СрокИспользованияДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследнихНачалоМесяца.СтоимостьДляВычисленияАмортизации, 0)           КАК СтоимостьДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследнихНачалоМесяца.ОбъемПродукцииРаботДляВычисленияАмортизации, 0) КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследнихНачалоМесяца.КоэффициентУскорения, 0)                        КАК КоэффициентУскорения,
	|	ЕСТЬNULL(ПараметрыАмортизацииСрезПоследнихНачалоМесяца.КоэффициентАмортизации, 0)                      КАК КоэффициентАмортизации
	|ПОМЕСТИТЬ
	|   ПараметрыАмортизацииСрезПоследнихНачалоМесяца
	|ИЗ
	|	РегистрСведений.ПараметрыАмортизацииОС.СрезПоследних(&НачалоПериода, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК ПараметрыАмортизацииСрезПоследнихНачалоМесяца
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ОсновныеСредстваСписанныеНаЗатратыОстатки.ОсновноеСредство              КАК ОсновноеСредство,
	|	ЕСТЬNULL(ОсновныеСредстваСписанныеНаЗатратыОстатки.СтоимостьОстаток, 0) КАК СтоимостьОстаток
	|ПОМЕСТИТЬ
	|   ОсновныеСредстваСписанныеНаЗатратыОстатки
	|ИЗ
	|	РегистрНакопления.ОССписанныеНаЗатраты.Остатки(&КонецПериода, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК ОсновныеСредстваСписанныеНаЗатратыОстатки
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВыработкаОСОбороты.ОсновноеСредство              КАК ОсновноеСредство,
	|	ВыработкаОСОбороты.ПараметрВыработки             КАК ПараметрВыработки,
	|	ЕСТЬNULL(ВыработкаОСОбороты.КоличествоОборот, 0) КАК ОбъемВыработки
	|ПОМЕСТИТЬ
	|	ВыработкаОС
	|ИЗ
	|	РегистрНакопления.ВыработкаОС.Обороты(&НачалоПериода, &КонецПериода,, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)
	|	И ПараметрВыработки В (ВЫБРАТЬ ПараметрВыработки ИЗ ПервоначальныеСведенияОССрезПоследних)) КАК ВыработкаОСОбороты
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НачислениеАмортизацииСрезПоследних.ОсновноеСредство                   КАК ОсновноеСредство,
	|	НачислениеАмортизацииСрезПоследних.НачислятьАмортизациюВТекущемМесяце КАК НачислятьАмортизациюВТекущемМесяце
	|ПОМЕСТИТЬ
	|	НачислениеАмортизацииСрезПоследних
	|ИЗ
	|	РегистрСведений.НачислениеАмортизацииОС.СрезПоследних(&КонецПериода, ОсновноеСредство В (ВЫБРАТЬ ОсновноеСредство ИЗ СписокАмортизируемыхОС)) КАК НачислениеАмортизацииСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ИСТИНА)                                          КАК ИзменениеНачислАморт,
	|	НачислениеАмортизацииОС.ОсновноеСредство                              КАК ОсновноеСредство,
	|	НачислениеАмортизацииСрезПоследних.НачислятьАмортизациюВТекущемМесяце КАК НачислятьВТекМесяце
	|ПОМЕСТИТЬ
	|	ИзменениеПризнакаАмортизации
	|ИЗ
	|	РегистрСведений.НачислениеАмортизацииОС КАК НачислениеАмортизацииОС
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачислениеАмортизацииСрезПоследних
	|	ПО НачислениеАмортизацииОС.ОсновноеСредство = НачислениеАмортизацииСрезПоследних.ОсновноеСредство
	|ГДЕ
	|	НачислениеАмортизацииОС.Период МЕЖДУ &НачалоПериода И &КонецПериода
	|СГРУППИРОВАТЬ ПО
	|	НачислениеАмортизацииОС.ОсновноеСредство,
	|	НачислениеАмортизацииСрезПоследних.НачислятьАмортизациюВТекущемМесяце
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СписокАмортизируемыхОС.ОсновноеСредство                           КАК ОсновноеСредство,
	|	ПРЕДСТАВЛЕНИЕ(СписокАмортизируемыхОС.ОсновноеСредство)            КАК ОсновноеСредствоПредставление,
	|	СписокАмортизируемыхОС.ОсновноеСредство.Код                       КАК Код,
	|	СписокАмортизируемыхОС.НачалоНачислятьАмортизацию                 КАК НачалоНачислятьАмортизацию,
	|	СписокАмортизируемыхОС.КонецНачислятьАмортизацию                  КАК КонецНачислятьАмортизацию,
	|	СписокАмортизируемыхОС.КонецНачислятьВТекущемМесяце               КАК КонецНачислятьВТекущемМесяце,
	|	СтоимостьОС.АмортизацияКонечныйОстаток                            КАК АмортизацияКонечныйОстаток,
	|	СтоимостьОС.АмортизацияОборот                                     КАК АмортизацияОборот,
	|	СтоимостьОС.СтоимостьКонечныйОстаток                              КАК БалансоваяСтоимость,
	|	СтоимостьОС.СтоимостьНачальныйОстаток                             КАК СтоимостьНачальныйОстаток,
	|	АмортизацияОстаткиИОбороты.СтоимостьНаНачалоГода                  КАК СтоимостьНаНачалоГода,
	|	ПервоначальныеСведенияОССрезПоследних.СпособНачисленияАмортизации КАК СпособНачисленияАмортизации,
	|	ПервоначальныеСведенияОССрезПоследних.ПервоначальнаяСтоимость     КАК ПервоначальнаяСтоимость,
	|	ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце         КАК ПрименитьВТекущемМесяце,
	|	ПараметрыАмортизацииСрезПоследних.Период                          КАК Период,
	|
// параметры зависящие от ПрименитьВТекущемМесяце	
	|	ВЫБОР 
	|		КОГДА ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце 
	|		ТОГДА ГрафикиАмортизацииСрезПоследних.ГрафикАмортизации                                        
	|		ИНАЧЕ ГрафикиАмортизацииСрезПоследнихНачалоМесяца.ГрафикАмортизации 
	|	КОНЕЦ КАК ГрафикАмортизации,
	|
	|	ВЫБОР 
	|		КОГДА ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце 
	|		ТОГДА СпособыОтраженияРасходовПоАмортизацииСрезПоследних.СпособыОтраженияРасходовПоАмортизации
	|		ИНАЧЕ СпособыОтраженияРасходовПоАмортизацииСрезПоследнихНачалоМесяца.СпособыОтраженияРасходовПоАмортизации 
	|	КОНЕЦ КАК СпособыОтраженияРасходовПоАмортизации,
	|
	|	ВЫБОР 
	|		КОГДА ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце 
	|		ТОГДА ПараметрыАмортизацииСрезПоследних.СрокИспользованияДляВычисленияАмортизации
	|		ИНАЧЕ ПараметрыАмортизацииСрезПоследнихНачалоМесяца.СрокИспользованияДляВычисленияАмортизации 
	|	КОНЕЦ КАК СрокИспользованияДляВычисленияАмортизации,
	|
	|	ВЫБОР 
	|		КОГДА ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце 
	|		ТОГДА ПараметрыАмортизацииСрезПоследних.СтоимостьДляВычисленияАмортизации
	|		ИНАЧЕ ПараметрыАмортизацииСрезПоследнихНачалоМесяца.СтоимостьДляВычисленияАмортизации 
	|	КОНЕЦ КАК СтоимостьДляВычисленияАмортизации,
	|
	|	ВЫБОР 
	|		КОГДА ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце 
	|		ТОГДА ПараметрыАмортизацииСрезПоследних.ОбъемПродукцииРаботДляВычисленияАмортизации
	|		ИНАЧЕ ПараметрыАмортизацииСрезПоследнихНачалоМесяца.ОбъемПродукцииРаботДляВычисленияАмортизации 
	|	КОНЕЦ КАК ОбъемПродукцииРаботДляВычисленияАмортизации,
	|
	|	ВЫБОР 
	|		КОГДА ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце 
	|		ТОГДА ПараметрыАмортизацииСрезПоследних.КоэффициентУскорения
	|		ИНАЧЕ ПараметрыАмортизацииСрезПоследнихНачалоМесяца.КоэффициентУскорения 
	|	КОНЕЦ КАК КоэффициентУскорения,
	|
	|	ВЫБОР 
	|		КОГДА ПараметрыАмортизацииСрезПоследних.ПрименитьВТекущемМесяце 
	|		ТОГДА ПараметрыАмортизацииСрезПоследних.КоэффициентАмортизации
	|		ИНАЧЕ ПараметрыАмортизацииСрезПоследнихНачалоМесяца.КоэффициентАмортизации
	|	КОНЕЦ КАК КоэффициентАмортизации,
// конец параметры зависящие от ПрименитьВТекущемМесяце	
	|
	|	ОсновныеСредстваСписанныеНаЗатратыОстатки.СтоимостьОстаток  КАК СтоимостьОстаток,
	|	ВыработкаОС.ОбъемВыработки                                  КАК ОбъемВыработки,
	|	ВЫБОР КОГДА ИзменениеПризнакаАмортизации.ИзменениеНачислАморт ЕСТЬ NULL ТОГДА
	|		Ложь
	|	ИНАЧЕ
	|		ИзменениеПризнакаАмортизации.ИзменениеНачислАморт
	|	КОНЕЦ КАК ИзменениеНачислАморт,
	|	ВЫБОР КОГДА ИзменениеПризнакаАмортизации.НачислятьВТекМесяце ЕСТЬ NULL ТОГДА
	|		Ложь
	|	ИНАЧЕ
	|		ИзменениеПризнакаАмортизации.НачислятьВТекМесяце
	|	КОНЕЦ КАК НачислятьВТекМесяце
	|ИЗ
	|	СписокАмортизируемыхОС
	|	ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияОстаткиИОбороты
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = АмортизацияОстаткиИОбороты.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = СтоимостьОС.ОсновноеСредство
	|
// начало параметры зависящие от "применить в текущем месяце"
	|	ЛЕВОЕ СОЕДИНЕНИЕ ГрафикиАмортизацииСрезПоследних
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = ГрафикиАмортизацииСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ СпособыОтраженияРасходовПоАмортизацииСрезПоследних
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = СпособыОтраженияРасходовПоАмортизацииСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОССрезПоследних
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = ПервоначальныеСведенияОССрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииСрезПоследних
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = ПараметрыАмортизацииСрезПоследних.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ ГрафикиАмортизацииСрезПоследнихНачалоМесяца
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = ГрафикиАмортизацииСрезПоследнихНачалоМесяца.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ СпособыОтраженияРасходовПоАмортизацииСрезПоследнихНачалоМесяца
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = СпособыОтраженияРасходовПоАмортизацииСрезПоследнихНачалоМесяца.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПараметрыАмортизацииСрезПоследнихНачалоМесяца
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = ПараметрыАмортизацииСрезПоследнихНачалоМесяца.ОсновноеСредство	
// конец параметры зависящие от "применить в текущем месяце"
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ ОсновныеСредстваСписанныеНаЗатратыОстатки
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = ОсновныеСредстваСписанныеНаЗатратыОстатки.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВыработкаОС
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = ВыработкаОС.ОсновноеСредство
	|	ЛЕВОЕ СОЕДИНЕНИЕ ИзменениеПризнакаАмортизации
	|	ПО СписокАмортизируемыхОС.ОсновноеСредство = ИзменениеПризнакаАмортизации.ОсновноеСредство
	|";*/
			//ВыборкаПоОС = Запрос.Выполнить().Выбрать();
			//ТипГодовой  = Тип ("СправочникСсылка.ГодовыеГрафикиАмортизацииОС");
			//ТаблицаГрафиков = ПолучитьТаблицуГрафиков();
			while(true/*ВыборкаПоОС.Следующий()*/)
			{
				/*// Если были изменения флага начисления амортизации, то анализируем
*/
				/*// признак необходимости начисления амортизации в текущем месяце.
*/
				if(true/*ВыборкаПоОС.ИзменениеНачислАморт*/)
				{
					if(true/*Не ВыборкаПоОС.НачислятьВТекМесяце*/)
					{
					}
				}
				/*ТекстСообщения = "Упр. расчет амортизации: для основного средства " + СокрЛП(ВыборкаПоОС.ОсновноеСредствоПредставление)
		               + " (" + СокрЛП(ВыборкаПоОС.Код) + ")";*/
				if(true/*(ВыборкаПоОС.АмортизацияОборот <> 0) И
			(ВыборкаПоОС.АмортизацияОборот <> Null)*/)
				{
					if(true/*ВыдаватьСообщения = Истина и не (ОсновноеСредство = Неопределено)*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " амортизация в этом месяце уже начислялась");
					}
					/*// по указанному ОС в этом месяце уже начисляли амортизацию 
*/
				}
				if(true/*ВыборкаПоОС.СтоимостьОстаток <> 0 И
			 ВыборкаПоОС.СтоимостьОстаток <> Null*/)
				{
					/*// ОС списано на затраты - не обрабатывается.
*/
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.СпособНачисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " не указан способ амортизации");
					}
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.СтоимостьДляВычисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " стоимость равна 0");
					}
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.СрокИспользованияДляВычисленияАмортизации)
		И Не  (ВыборкаПоОС.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.ПропорциональноОбъемуПродукции
		  ИЛИ  ВыборкаПоОС.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.ПоЕНАОФ
		  ИЛИ  ВыборкаПоОС.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.ПоЕНАОФНа1000кмПробега)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " срок использования равен 0");
					}
				}
				//СуммаАмортизации = 0;
				if(true/*ВыборкаПоОС.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииОС.Линейный*/)
				{
					/*СуммаГодовойАмортизации = ?(ВыборкаПоОС.СтоимостьДляВычисленияАмортизации          = NULL, 0, ВыборкаПоОС.СтоимостьДляВычисленияАмортизации) /
			                          ?((ВыборкаПоОС.СрокИспользованияДляВычисленияАмортизации = NULL
			                            ИЛИ ВыборкаПоОС.СрокИспользованияДляВычисленияАмортизации = 0), 1, ВыборкаПоОС.СрокИспользованияДляВычисленияАмортизации) * 12;*/
					if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоОС.ГрафикАмортизации)*/)
					{
						//СуммаАмортизации   = СуммаГодовойАмортизации / 12;
					}
				}
				if(true/*КоэффициентАмортизации = 0 И ВыдаватьСообщения = Истина*/)
				{
					//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " коэффициент амортизации равен 0");
				}
				//ПервоначальнаяСтоимость = ВыборкаПоОС.ПервоначальнаяСтоимость;
				if(true/*ПервоначальнаяСтоимость = NULL*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " первоначальная стоимость равна 0");
					}
					//ПервоначальнаяСтоимость = 0;
				}
				/*ВсегоОсталосьСписать = ?( ВыборкаПоОС.БалансоваяСтоимость        = NULL, 0, ВыборкаПоОС.БалансоваяСтоимость)
			                 - ?( ВыборкаПоОС.АмортизацияКонечныйОстаток = NULL, 0, ВыборкаПоОС.АмортизацияКонечныйОстаток);*/
				/*// Балансовая стоимость не может быть меньше 0
*/
				//СуммаАмортизации     = Макс( Мин( СуммаАмортизации, ВсегоОсталосьСписать), 0);
				//СтрокаАмортизации    = ТаблицаАмортизации.Добавить();
				//СтрокаАмортизации.ОС                     = ВыборкаПоОС.ОсновноеСредство;
				//СтрокаАмортизации.НаправлениеАмортизации = ВыборкаПоОС.СпособыОтраженияРасходовПоАмортизации;
				//СтрокаАмортизации.Упр                    = СуммаАмортизации;
			}
			return null;
		}
		// РасчетАмортизацииУпр()
		//Получает документ и дату для указанного состояния основного средства по бух учету
		//
		// Параметры
		//
		//
		// Вовзаращаемое значение
		//  Дата и документ - через указанные параметры процедуры.
		//

		public void ПолучитьДокументБухСостоянияОС(/*ОсновноеСредство, Организация, ВидСостояния, ДокРегистратор, ДатаДокРегистратора*/)
		{
			//ДокРегистратор      = Неопределено;
			//ДатаДокРегистратора = 0;
			//СтруктПараметров 	= ПолучитьАтрибутыСостоянияОС( ОсновноеСредство,ВидСостояния,Ложь,Организация);
			//ДокРегистратор      = СтруктПараметров["Регистратор"];
			//ДатаДокРегистратора = СтруктПараметров["Дата"];
		}
		//Получает документ и дату для указанного состояния нематериального актива по бух учету
		//
		// Параметры
		//
		//
		// Вовзаращаемое значение
		//  Дата и документ - через указанные параметры процедуры.
		//

		public void ПолучитьДокументБухСостоянияНМА(/*НематериальныйАктив, Организация, Состояние, ДокРегистратор, ДатаДокРегистратора*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("СостояниеНМА", 	Состояние);
			//Запрос.УстановитьПараметр("НМА",            НематериальныйАктив);
			//Запрос.УстановитьПараметр("Организация",    Организация);
			/*Запрос.Текст = 
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|	СостоянияНМАОрганизаций.Регистратор КАК Документ
		|ИЗ
		|	РегистрСведений.СостоянияНМАОрганизаций КАК СостоянияНМАОрганизаций
		|ГДЕ
		|	СостоянияНМАОрганизаций.НематериальныйАктив = &НМА
		|	И СостоянияНМАОрганизаций.Организация = &Организация
		|	И СостоянияНМАОрганизаций.Состояние = &СостояниеНМА
		|
		|УПОРЯДОЧИТЬ ПО
		|	СостоянияНМАОрганизаций.Регистратор.Дата УБЫВ";*/
			//ВыборкаДоков = Запрос.Выполнить().Выбрать();
			if(true/*ВыборкаДоков.Следующий()*/)
			{
				//ДокРегистратор      = ВыборкаДоков.Документ;
				//ДатаДокРегистратора = ВыборкаДоков.Документ.Дата;
			}
		}
		//Функция получает таблицу значений с указанием списка ОС и сумм амортизации
		//возвращает таблицу значений с распределенными значениями амортизации
		//

		public object ПолучитьРаспределениеАмортизацииПоНаправлениямУпр(/*ДокОбъект, Отказ, Заголовок, ТабАмортизации, СтруктураШапкиДокумента*/)
		{
			if(true/*ДокОбъект.Метаданные().Реквизиты.Найти("ПериодРегистрации") <> Неопределено*/)
			{
				//ДатаРасчета = КонецМесяца(ДокОбъект.ПериодРегистрации);
			}
			/*// определим структуру выходной таблицы
*/
			//ТабЗатрат = УправлениеЗатратами.СформироватьТаблицуЗатрат();
			//МассивКоэф = Новый Массив;
			/*// цикл по Объектам из ТабАмортизации
*/
			/*УправлениеЗатратами.ДвиженияПоПрочимЗатратам(
		СтруктураШапкиДокумента,
		ТабЗатрат,
		Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете
	);*/
			return null;
		}
		// ПолучитьРаспределениеАмортизацииПоНаправлениямУпр()
		//Функция получает таблицу значений с указанием списка ОС и сумм амортизации
		//возвращает таблицу значений с распределенными значениями амортизации
		//Параметры входной таблицы значений:
		// - ОС
		//
		//
		//Параметры выходной таблицы значений:
		// - "ОсновноеСредство"
		//

		public object ПолучитьРаспределениеАмортизацииПоНаправлениямРегл(/*ДокОбъект, Отказ, Заголовок, ТабАмортизации, СтруктураШапкиДокумента, ТипУчета, НомерЖурнала, ТекстПроводки = Неопределено*/)
		{
			if(true/*ТабАмортизации = Неопределено*/)
			{
			}
			if(true/*ДокОбъект.Метаданные().Реквизиты.Найти("ПериодРегистрации") <> Неопределено*/)
			{
				//ДатаРасчета = КонецМесяца(ДокОбъект.ПериодРегистрации);
			}
			/*ИспользоватьРасширеннуюАналитику = глЗначениеПеременной("ИспользоватьРасширеннуюАналитикуУчетаНоменклатурыИЗатрат") 
	И (глЗначениеПеременной("ДатаНачалаИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат") <= ДатаРасчета);*/
			/*// определим структуру выходной таблицы
*/
			//ТабЗатрат = УправлениеЗатратами.СформироватьТаблицуЗатрат();
			//ТабЗатрат.Колонки.Добавить("СчетАмортизации");
			//ТабЗатрат.Колонки.Добавить("СчетАмортизацииНУ");
			//ТабЗатрат.Колонки.Добавить("ИмяСубконто");
			//ТабЗатрат.Колонки.Добавить("ОбъектУчета");
			if(true/*ТипУчета = "Нал"  И СтруктураШапкиДокумента.ПоддержкаПБУ18*/)
			{
				if(true/*ТабАмортизации.Колонки.Найти("СуммаВР") = Неопределено*/)
				{
					//ТабАмортизации.Колонки.Добавить("СуммаВР", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
				}
				if(true/*ТабАмортизации.Колонки.Найти("СуммаПР") = Неопределено*/)
				{
					//ТабАмортизации.Колонки.Добавить("СуммаПР", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
				}
			}
			//МассивКоэф = Новый Массив;
			/*// цикл по Объектам из ТабАмортизации
*/
			if(true/*ТипУчета = "Бух"*/)
			{
				//ВремСтруктураШапкиДокумента = Новый Структура;
				/*УправлениеЗатратами.ДвиженияПоПрочимЗатратам(
		ВремСтруктураШапкиДокумента,
		ТабЗатрат,
		Перечисления.ВидыОтраженияВУчете.ОтражатьВРегламентированномУчете
		);*/
				/*//формирование проводок
*/
				//Проводки = ДокОбъект.Движения.Хозрасчетный;
			}
			if(true/*ТипУчета = "Нал"*/)
			{
				//ВремСтруктураШапкиДокумента = Новый Структура;
				/*УправлениеЗатратами.ДвиженияПоПрочимЗатратам(
		ВремСтруктураШапкиДокумента,
		ТабЗатрат,
		Перечисления.ВидыОтраженияВУчете.ОтражатьВРегламентированномУчете
		);*/
				/*//формирование проводок
*/
				//Проводки = ДокОбъект.Движения.Налоговый;
			}
			return null;
		}
		// ПолучитьРаспределениеАмортизацииПоНаправлениямРегл()
		// Процедура выполняет стандартные действия при начале выбора события ОС в формах документов.
		//
		// Параметры:
		//  ЭлементФормы                      - элемент формы документа, который надо заполнить;
		//  ВидыСостояний                     - вид состояний ОС для отбора, значение перечисления ВидыСостоянийОС;
		//  СтандартнаяОбработка              - булево, признак выполнения стандартной (системной) обработки события,
		//

		public void НачалоВыбораЗначенияСобытияОС(/*ЭлементФормы, ВидыСобытий, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = Справочники.СобытияОС.ПолучитьФормуВыбора(,ЭлементФормы,);
			if(true/*ВидыСобытий <> Неопределено*/)
			{
				/*// Оставим в выборе только "правильные" состояния
*/
				if(true/*ТипЗнч(ВидыСобытий) = Тип("СписокЗначений")*/)
				{
					//ФормаВыбора.СправочникСписок.Отбор.ВидСобытияОС.ВидСравнения = ВидСравнения.ВСписке;
				}
				//ФормаВыбора.СправочникСписок.Отбор.ВидСобытияОС.Значение         = ВидыСобытий;
				//ФормаВыбора.СправочникСписок.Отбор.ВидСобытияОС.Использование    = Истина;
				//ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидСобытияОС.Доступность = Ложь;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияСобытияОС()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ОБЕСПЕЧЕНИЯ РАБОТЫ ФОРМ ДОКУМЕНТОВ С ИМУЩЕСТВОМ В ЭКСПЛУАТАЦИИ
		// Функция возвращает расшифровку срока полезного использования в годах и
		// месяцах.
		//
		// Параметры:
		//  СрокПолезногоИспользования - срок полезного использования (в месяцах),
		//                 подлежащий расшифровке
		//
		// Возвращаемое значение:
		//  Строка       - расшифровка срока полезного использования в годах и
		//                 месяцах
		//

		public object РасшифровкаСрокаПолезногоИспользования(/*СрокПолезногоИспользования*/)
		{
			//РасшифровкаСрокаПолезногоИспользования = "";
			if(true/*ЗначениеЗаполнено(СрокПолезногоИспользования)*/)
			{
				//ЧислоЛет     = Цел(СрокПолезногоИспользования / 12);
				//ЧислоМесяцев = (СрокПолезногоИспользования % 12);
				if(true/*НЕ (ЧислоЛет = 0)*/)
				{
					/*// Построим строку с числом лет
*/
					if(true/*(СтрДлина(ЧислоЛет) > 1) И (Число(Сред(ЧислоЛет, СтрДлина(ЧислоЛет) - 1, 1)) = 1)*/)
					{
						//СтрокаГод = " лет";
					}
					//РасшифровкаСрокаПолезногоИспользования = РасшифровкаСрокаПолезногоИспользования + Строка(ЧислоЛет) + СтрокаГод;
				}
				if(true/*НЕ (ЧислоМесяцев = 0)*/)
				{
					/*// Построим строку с числом месяцев
*/
					if(true/*(СтрДлина(ЧислоМесяцев) > 1) И (Число(Сред(ЧислоМесяцев, СтрДлина(ЧислоМесяцев) - 1, 1)) = 1)*/)
					{
						//СтрокаМесяц = " месяцев";
					}
					//РасшифровкаСрокаПолезногоИспользования = РасшифровкаСрокаПолезногоИспользования + ?(НЕ ЗначениеЗаполнено(РасшифровкаСрокаПолезногоИспользования), "", " ") + Строка(ЧислоМесяцев) + СтрокаМесяц;
				}
				//РасшифровкаСрокаПолезногоИспользования = "(" + РасшифровкаСрокаПолезногоИспользования + ")";
			}
			return null;
		}
		// РасшифровкаСрокаПолезногоИспользования()
		///////////////////////////////////////////////////////////////////////////////
		// ОБРАБОТКА ТАБЛИЧНЫХ ЧАСТЕЙ ДОКУМЕНТОВ ПО ОС
		// Проверяет наличие одинаковых значений в колонке табличной части.
		//

		public void ПроверитьДубли(/*Таблица, ПредставлениеТаблицы, ИмяКолонки, ПредставлениеКолонки, Отказ, Заголовок*/)
		{
			//ТаблицаДублей = Таблица.Скопировать();
			/*// Подсчитываем количество повторений.
*/
			//ТаблицаДублей.Колонки.Добавить("КоличествоПовторений");
			//ТаблицаДублей.ЗаполнитьЗначения(1, "КоличествоПовторений");
			//ТаблицаДублей.Свернуть(ИмяКолонки, "КоличествоПовторений");
			/*// Если количество повторений > 1, выдаем сообщение об ошибке.
*/
			if(true/*?(ТаблицаДублей.Количество() > 0, ТаблицаДублей.Итог("КоличествоПовторений") / ТаблицаДублей.Количество(), 0) > 1*/)
			{
				//ТекстСообщенияОбОшибке = "";
				//Таблица.Индексы.Добавить(ИмяКолонки);
				/*// Цикл по каждому найденному повторению.
*/
				//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщенияОбОшибке, Отказ, Заголовок);
			}
		}
		// ПроверитьДубли()
		// Функция рассчитывает стоимость объекта строительства по разным видам учета
		// Возвращает структуру со значениями стоимостей по видам учета, поля:
		//- СтоимостьУУ
		// - СтоимостьБУ
		// - СтоимостьБУХоз
		// - СтоимостьНУ
		// - СтоимостьНУХоз
		//

		public object РассчитатьСтоимостьОбъектаСтроительства(/*ОтражатьВУправленческомУчете,
	                                           ОтражатьВБухгалтерскомУчете,
	                                           ОтражатьВНалоговомУчете,
	                                           СчетУчетаБУВнеоборотногоАктива,
	                                           СчетУчетаНУВнеоборотногоАктива,
	                                           ОбъектСтроительства,
	                                           Организация,
	                                           Период = Неопределено*/)
		{
			//СтруктураСтоимостьОбъектаСтроительства = Новый Структура;
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьУУ",0);
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьБУ",0);
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьБУХоз",0);
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьНУ",0);
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьНУХоз",0);
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьПР",0);
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьПРХоз",0);
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьВР",0);
			//СтруктураСтоимостьОбъектаСтроительства.Вставить("СтоимостьВРХоз",0);
			if(true/*НЕ ЗначениеЗаполнено(ОбъектСтроительства)*/)
			{
				//Предупреждение("Не выбран объект строительства", 60);
			}
			if(true/*(ОтражатьВБухгалтерскомУчете ИЛИ ОтражатьВНалоговомУчете) И (НЕ ЗначениеЗаполнено(Организация))*/)
			{
				//Предупреждение("Не выбрана организация", 60);
			}
			if(true/*(ОтражатьВБухгалтерскомУчете) И (НЕ ЗначениеЗаполнено(СчетУчетаБУВнеоборотногоАктива))*/)
			{
				//Предупреждение("Не выбран счет бухгалтерского учета объекта строительства", 60);
			}
			if(true/*(ОтражатьВНалоговомУчете) И (НЕ ЗначениеЗаполнено(СчетУчетаНУВнеоборотногоАктива))*/)
			{
				//Предупреждение("Не выбран счет налогового учета объекта строительства", 60);
			}
			if(true/*ОтражатьВУправленческомУчете*/)
			{
				//Запрос = Новый Запрос;
				//Запрос.УстановитьПараметр("Период"             , Период);
				//Запрос.УстановитьПараметр("ОбъектСтроительства", ОбъектСтроительства);
				/*Запрос.Текст =
		"ВЫБРАТЬ
		|	СтроительствоОбъектовОсновныхСредствОстатки.СуммаОстаток КАК Стоимость
		|ИЗ
		|	РегистрНакопления.СтроительствоОбъектовОсновныхСредств.Остатки(&Период, ОбъектСтроительства = &ОбъектСтроительства) КАК СтроительствоОбъектовОсновныхСредствОстатки
		|";*/
				//РезультатЗапроса = Запрос.Выполнить();
				if(true/*НЕ РезультатЗапроса.Пустой()*/)
				{
					//СтруктураСтоимостьОбъектаСтроительства.СтоимостьУУ = РезультатЗапроса.Выгрузить()[0].Стоимость;
				}
			}
			if(true/*ОтражатьВБухгалтерскомУчете ИЛИ ОтражатьВНалоговомУчете*/)
			{
				//ПорядокСубконто = Новый Массив();
				//ПорядокСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства);
				//ПорядокСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СпособыСтроительства);
				//Запрос = Новый Запрос;
				//Запрос.УстановитьПараметр("Период",               Период);
				//Запрос.УстановитьПараметр("Организация",          Организация);
				//Запрос.УстановитьПараметр("ОбъектСтроительства",  ОбъектСтроительства);
				//Запрос.УстановитьПараметр("СчетУчетаБУ",          СчетУчетаБУВнеоборотногоАктива);
				//Запрос.УстановитьПараметр("СчетУчетаНУ",          СчетУчетаНУВнеоборотногоАктива);
				//Запрос.УстановитьПараметр("ПорядокСубконто",      ПорядокСубконто);
				//Запрос.УстановитьПараметр("ОбъектыСтроительства", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства);
				//Запрос.УстановитьПараметр("Хозспособ",            Перечисления.СпособыСтроительства.Хозспособ);
				//ТекстЗапроса = "";
				if(true/*ОтражатьВБухгалтерскомУчете*/)
				{
					/*ТекстЗапроса = ТекстЗапроса +
			"ВЫБРАТЬ
			|	""БУ"" КАК ВидУчета,
			|	ХозрасчетныйОстатки.СуммаОстатокДт КАК Стоимость,
			|	ХозрасчетныйОстаткиХозспособ.СуммаОстатокДт КАК СтоимостьХозспособ
			|ИЗ
			|	РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &СчетУчетаБУ, &ОбъектыСтроительства, Субконто1 = &ОбъектСтроительства И Организация = &Организация) КАК ХозрасчетныйОстатки	
			|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &СчетУчетаБУ, &ПорядокСубконто, Субконто1 = &ОбъектСтроительства И Субконто2 = &Хозспособ И Организация = &Организация) КАК ХозрасчетныйОстаткиХозспособ
			|		ПО ХозрасчетныйОстатки.Субконто1 = ХозрасчетныйОстаткиХозспособ.Субконто1
			|";*/
				}
				if(true/*ОтражатьВНалоговомУчете*/)
				{
					if(true/*НЕ ПустаяСтрока(ТекстЗапроса)*/)
					{
						/*ТекстЗапроса = ТекстЗапроса +
				"ОБЪЕДИНИТЬ ВСЕ
				|";*/
					}
					/*ТекстЗапроса = ТекстЗапроса +
			"ВЫБРАТЬ
			|	НалоговыйОстатки.ВидУчета,
			|	НалоговыйОстатки.СуммаОстатокДт,
			|	НалоговыйОстаткиХозспособ.СуммаОстатокДт
			|ИЗ
			|	РегистрБухгалтерии.Налоговый.Остатки(&Период, Счет = &СчетУчетаНУ, &ОбъектыСтроительства, Субконто1 = &ОбъектСтроительства И Организация = &Организация) КАК НалоговыйОстатки
			|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Налоговый.Остатки(&Период, Счет = &СчетУчетаНУ, &ПорядокСубконто, Субконто1 = &ОбъектСтроительства И Субконто2 = &Хозспособ И Организация = &Организация) КАК НалоговыйОстаткиХозспособ
			|		ПО НалоговыйОстатки.Субконто1 = НалоговыйОстаткиХозспособ.Субконто1
			|		 И НалоговыйОстатки.ВидУчета  = НалоговыйОстаткиХозспособ.ВидУчета
			|";*/
				}
				//Запрос.Текст = ТекстЗапроса;
				//Выборка = Запрос.Выполнить().Выбрать();
				while(true/*Выборка.Следующий()*/)
				{
					if(true/*Выборка.ВидУчета = "БУ"*/)
					{
						//СтруктураСтоимостьОбъектаСтроительства.СтоимостьБУ    = Выборка.Стоимость;
						//СтруктураСтоимостьОбъектаСтроительства.СтоимостьБУХоз = Выборка.СтоимостьХозспособ;
					}
				}
				//;;
			}
			return null;
		}
		// РассчитатьСтоимостьОбъектаСтроительства()
		// Функция возвращает счета учета по выбранному объекту
		//
		// Параметры:
		//  Организация - по которой выполняется поиск
		//  Объект      - ... строительства по которому выполняется поиск
		//
		// Возвращаемое значение:
		//  Структура - структура содержащая счета учета
		//

		public object ПолучитьСчетаУчетаОбъектовСтроительства(/*Организация, Объект*/)
		{
			//Результат = Новый Структура("СчетУчетаБУ, СчетУчетаНДС");
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("ПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
			//Запрос.УстановитьПараметр("Организация",       Организация);
			//Запрос.УстановитьПараметр("ПустойОбъект",      Справочники.ОбъектыСтроительства.ПустаяСсылка());
			//Запрос.УстановитьПараметр("Объект",            Объект);
			/*Запрос.Текст = "
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	1 КАК Приоритет,
	|	СчетБухгалтерскогоУчета КАК СчетУчетаБУ,
	|	СчетБухгалтерскогоУчетаНДС КАК СчетУчетаНДС
	|ИЗ
	|	РегистрСведений.ОбъектыСтроительстваОрганизаций КАК ОбъектыСтроительстваОрганизаций
	|
	|ГДЕ
	|	Организация = &Организация И
	|	ОбъектСтроительства = &Объект
	|	
	|	ОБЪЕДИНИТЬ
	|	
	|ВЫБРАТЬ
	|	2,
	|	СчетБухгалтерскогоУчета КАК СчетУчетаБУ,
	|	СчетБухгалтерскогоУчетаНДС КАК СчетУчетаНДС
	|ИЗ
	|	РегистрСведений.ОбъектыСтроительстваОрганизаций КАК ОбъектыСтроительстваОрганизаций
	|
	|ГДЕ
	|	Организация = &Организация И
	|	ОбъектСтроительства = &ПустойОбъект
	|	
	|	ОБЪЕДИНИТЬ
	|	
	|ВЫБРАТЬ
	|	3,
	|	СчетБухгалтерскогоУчета КАК СчетУчетаБУ,
	|	СчетБухгалтерскогоУчетаНДС КАК СчетУчетаНДС
	|ИЗ
	|	РегистрСведений.ОбъектыСтроительстваОрганизаций КАК ОбъектыСтроительстваОрганизаций
	|
	|ГДЕ
	|	Организация = &ПустаяОрганизация И
	|	ОбъектСтроительства = &Объект
	|	
	|	ОБЪЕДИНИТЬ
	|	
	|ВЫБРАТЬ
	|	4,
	|	СчетБухгалтерскогоУчета КАК СчетУчетаБУ,
	|	СчетБухгалтерскогоУчетаНДС КАК СчетУчетаНДС
	|ИЗ
	|	РегистрСведений.ОбъектыСтроительстваОрганизаций КАК ОбъектыСтроительстваОрганизаций
	|
	|ГДЕ
	|	Организация = &ПустаяОрганизация И
	|	ОбъектСтроительства = &ПустойОбъект
	|УПОРЯДОЧИТЬ ПО
	|	Приоритет";*/
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*НЕ РезультатЗапроса.Пустой()*/)
			{
				//Выборка = РезультатЗапроса.Выбрать();
				//Выборка.Следующий();
				//Результат.СчетУчетаБУ  = Выборка.СчетУчетаБУ;
				//Результат.СчетУчетаНДС = Выборка.СчетУчетаНДС;
			}
			return null;
		}
		//ПолучитьСчетаУчетаОбъектовСтроительства()

		public void ОткрытьФормуВыбораНМА(/*ВидОбъектаУчета, СтандартнаяОбработка, Владелец, Ключ = неопределено,ВыбратьНесколькоЗначений = Ложь*/)
		{
			//Форма = Справочники.НематериальныеАктивы.ПолучитьФормуВыбора("ФормаВыбора", Владелец, Ключ);
			//ЭлементОтбора = Форма.СправочникСписок.Отбор.ВидОбъектаУчета;
			//ЭлементОтбора.Значение = ВидОбъектаУчета;
			//ЭлементОтбора.Использование = Истина;
			if(true/*не ВыбратьНесколькоЗначений*/)
			{
				//Форма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = Владелец.Значение;
				//Форма.ПараметрВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;
			}
			//Форма.Открыть();
			//Форма.ЗакрыватьПриВыборе = не ВыбратьНесколькоЗначений;
			//СтандартнаяОбработка = Ложь;
		}
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСЧЕТА АМОРТИЗАЦИИ НМА и НИОКР
		// Функция для определения стоимости, суммы накопленной амортизации НМА (НИОКР)
		// в указанной организации на определенный момент времени.
		//

		public object ОпределитьСтоимостьПоСпискуНМА(/*Организация, СписокНМА, Период*/)
		{
			//СубконтоНМА = Новый Массив();
			//СубконтоНМА.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы);
			//ТаблицаПоНМА = Новый ТаблицаЗначений;
			//ТаблицаПоНМА.Колонки.Добавить("НематериальныйАктив", Новый ОписаниеТипов("СправочникСсылка.НематериальныеАктивы"));
			if(true/*ТипЗнч(СписокНМА) = Тип("СправочникСсылка.НематериальныеАктивы")*/)
			{
				//НоваяСтрока = ТаблицаПоНМА.Добавить();
				//НоваяСтрока.НематериальныйАктив = СписокНМА;
			}
			//Запрос   = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("Организация",     Организация);
			//Запрос.УстановитьПараметр("СписокНМА",       СписокНМА);
			//Запрос.УстановитьПараметр("НачалоПериода",   Период);
			//Запрос.УстановитьПараметр("СубконтоНМА",     СубконтоНМА);
			//Запрос.УстановитьПараметр("ВнешнийИсточник", ТаблицаПоНМА);
			/*Запрос.Текст = 
	"ВЫБРАТЬ
   	|	НематериальныйАктив
	|ПОМЕСТИТЬ НематериальныеАктивы
	|ИЗ &ВнешнийИсточник КАК ВнешнийИсточник
	|";*/
			//Запрос.Выполнить();
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	НематериальныеАктивы.НематериальныйАктив КАК НематериальныйАктив,
	|	НМА_БУ.НематериальныйАктив КАК НМА_БУ,
	|	НМА_БУ.СчетУчета КАК СчетУчетаБУ,
	|	ВЫБОР КОГДА НМА_БУ.НематериальныйАктив.ВидОбъектаУчета = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовУчетаНМА.РасходыНаНИОКР) ТОГДА НМА_БУ.СчетУчета ИНАЧЕ НМА_БУ.СчетНачисленияАмортизации КОНЕЦ КАК СчетАмортизацииБУ,
	|	НМА_НУ.НематериальныйАктив КАК НМА_НУ,
	|	НМА_НУ.СчетУчета КАК СчетУчетаНУ,
	|	ВЫБОР КОГДА НМА_НУ.НематериальныйАктив.ВидОбъектаУчета = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовУчетаНМА.РасходыНаНИОКР) ТОГДА НМА_НУ.СчетУчета ИНАЧЕ НМА_НУ.СчетНачисленияАмортизации КОНЕЦ КАК СчетАмортизацииНУ,
	|	СтоимостьНМАБухгалтерскийУчетОстатки.СтоимостьОстаток КАК СтоимостьБУ,
	|	СтоимостьНМАНалоговыйУчетОстатки.СтоимостьОстаток КАК СтоимостьНУ,
	|	СтоимостьНМАБухгалтерскийУчетОстатки.АмортизацияОстаток КАК АмортизацияБУ,
	|	СтоимостьНМАНалоговыйУчетОстатки.АмортизацияОстаток КАК АмортизацияНУ
	|ИЗ
	|	НематериальныеАктивы
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаБухгалтерскогоУчетаНМА.СрезПоследних(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК НМА_БУ
	|	ПО НематериальныеАктивы.НематериальныйАктив = НМА_БУ.НематериальныйАктив
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаНалоговогоУчетаНМА.СрезПоследних(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК НМА_НУ
	|	ПО НематериальныеАктивы.НематериальныйАктив = НМА_НУ.НематериальныйАктив
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьНМАНалоговыйУчет.Остатки(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СтоимостьНМАНалоговыйУчетОстатки
	|	ПО НематериальныеАктивы.НематериальныйАктив = СтоимостьНМАНалоговыйУчетОстатки.НематериальныйАктив
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьНМАБухгалтерскийУчет.Остатки(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СтоимостьНМАБухгалтерскийУчетОстатки
	|	ПО НематериальныеАктивы.НематериальныйАктив = СтоимостьНМАБухгалтерскийУчетОстатки.НематериальныйАктив";*/
			//ТЗ = Запрос.Выполнить().Выгрузить();
			//ЧисловыеКолонки = Новый Структура("СтоимостьБУ, АмортизацияБУ, СтоимостьНУ, АмортизацияНУ");
			return null;
		}
		// ОпределитьСтоимостьПоСпискуНМА()
		//Получает список НМА, учитываемых в указанной организации
		//НМА включается в список если последняя организация, в которой он учитывался соответсвует переданной в функцию
		//
		//Параметры:
		//	Период - Дата или момент времени - период на который определяется принадлежность организации
		//	Орагнизация - СправочникСсылка.Орагнизации
		//	НУ 			- булево - признак необходимости определения отражения объекта в НУ, по умолчанию - ложь
		//	ОбъектНМА	- Массив, СписокЗначений или СправочникСсылка.НематериальныеАктивы - список объектов НМА,
		//	по которому необходимо отфильтровать полученный результат
		//
		//Возвращаемое значение:
		// 	Массив ссылок СправочникСсылка.НематериальныеАктивы, если ни обин объект не подобран - пустой массив!
		//

		public object ПолучитьСписокНМАОрагнизации(/*Период, Организация, НУ = ложь, ОбъектНМА = Неопределено*/)
		{
			//ТекстУсловия = ?(ОбъектНМА = Неопределено,""," НематериальныйАктив В(&НематериальныйАктив) ");
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив
		|ИЗ
		|	РегистрСведений.ПервоначальныеСведенияНМАБухгалтерскийУчет.СрезПоследних(&Период,"+ТекстУсловия+" ) КАК ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних
		|" +?(НУ,"		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияНМАНалоговыйУчет.СрезПоследних(&Период, Организация = &Организация) КАК ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних
		|		ПО ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив = ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив
		|  ","") +"
		|ГДЕ
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.Организация = &Организация
		|";*/
			//Запрос.УстановитьПараметр("Период",Период );
			//Запрос.УстановитьПараметр("Организация",Организация );
			//Запрос.УстановитьПараметр("НематериальныйАктив",ОбъектНМА);
			//Результат = Запрос.Выполнить();
			if(true/*Результат.Пустой()*/)
			{
				/*//Нет подходящих объектов
*/
			}
			//ТаблицаОбъектов = Результат.Выгрузить();
			return null;
		}
		// Рассчитывает сумму амортизации по указаному нематериальному активу по нал учету
		//
		// Параметры
		//  НематериальныйАктив                        - Массив, СправочникСсылка.НематериальныеАктивы - НМА, по которому
		//                                                нужно рассчитать амортизацию.
		//  ДатаРасчета                                 - Дата - Дата расчета амортизации
		//
		// Возвращаемое значение:
		//   Число - Сумма начисленной амортизации
		//

		public object РасчетАмортизацииНМА_НИОКР_БухРегл(/*ДатаРасчета, Организация, НематериальныйАктив = Неопределено, ВыдаватьСообщения = Истина*/)
		{
			//ТаблицаАмортизации = Новый ТаблицаЗначений();
			//ТаблицаАмортизации.Колонки.Добавить("НМА",                    Новый ОписаниеТипов("СправочникСсылка.НематериальныеАктивы"));
			//ТаблицаАмортизации.Колонки.Добавить("СчетУчетаБУ",            Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			//ТаблицаАмортизации.Колонки.Добавить("СчетАмортизацииБУ",      Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			//ТаблицаАмортизации.Колонки.Добавить("ИмяСубконто",            Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(20)));
			//ТаблицаАмортизации.Колонки.Добавить("НаправлениеАмортизации", Новый ОписаниеТипов("СправочникСсылка.СпособыОтраженияРасходовПоАмортизации"));
			//ТаблицаАмортизации.Колонки.Добавить("Бух",                    Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//СписокНМА = ПолучитьСписокНМАОрагнизации(НачалоМесяца(ДатаРасчета), Организация, Ложь, НематериальныйАктив);
			if(true/*СписокНМА.количество()=0*/)
			{
				/*//Не обнаружено объектов 
*/
			}
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("НачалоГода",    НачалоГода(ДатаРасчета));
			//Запрос.УстановитьПараметр("Организация",   Организация);
			//Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ДатаРасчета));
			//Запрос.УстановитьПараметр("КонецПериода",  КонецМесяца(ДатаРасчета));
			//Запрос.УстановитьПараметр("СписокНМА", СписокНМА);
			//Запрос.УстановитьПараметр("НИОКР",       Перечисления.ВидыОбъектовУчетаНМА.РасходыНаНИОКР);
			/*Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив,
		|	ПРЕДСТАВЛЕНИЕ(ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив) КАК НематериальныйАктивПредставление,
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив.Код КАК Код,
		|	ВыработкаНМАОбороты.КоличествоОборот КАК Количество,
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.СрокПолезногоИспользования КАК СрокИспользованияДляВычисленияАмортизации,
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.ПервоначальнаяСтоимость КАК СтоимостьДляВычисленияАмортизации,
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.ОбъемПродукцииРаботДляВычисленияАмортизации,
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.Период,
		|	СчетаБухгалтерскогоУчетаНМАСрезПоследних.СчетУчета,
		|	ВЫБОР КОГДА ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив.ВидОбъектаУчета = &НИОКР ТОГДА СчетаБухгалтерскогоУчетаНМАСрезПоследних.СчетУчета ИНАЧЕ СчетаБухгалтерскогоУчетаНМАСрезПоследних.СчетНачисленияАмортизации КОНЕЦ КАК СчетНачисленияАмортизации,
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.СпособНачисленияАмортизации,
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.ПервоначальнаяСтоимость,
		|	ЕСТЬNULL(ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.Коэффициент, 0) КАК Коэффициент,
		|	СпособыОтраженияРасходовПоАмортизацииНМАБухгалтерскийУчетСрезПоследних.СпособОтраженияРасходов КАК СпособыОтраженияРасходовПоАмортизации,
		|	ЕСТЬNULL(СтоимостьНМА_БУ.СтоимостьНачальныйОстаток, 0) КАК СтоимостьНачальныйОстаток,
		|	ЕСТЬNULL(СтоимостьНМА_БУ.АмортизацияНачальныйОстаток, 0) КАК АмортизацияНачальныйОстаток,
		|	ЕСТЬNULL(СтоимостьНМА_БУ.АмортизацияКонечныйОстаток, 0) КАК АмортизацияКонечныйОстаток,
		|	ЕСТЬNULL(СтоимостьНМА_БУ.АмортизацияПриход, 0) КАК АмортизацияОборот,
		|	СтоимостьНМАНаНачалоГода_БУ.СтоимостьОстаток - СтоимостьНМАНаНачалоГода_БУ.АмортизацияОстаток КАК СтоимостьНаНачалоГода
		|ИЗ
		|	РегистрСведений.ПервоначальныеСведенияНМАБухгалтерскийУчет.СрезПоследних(&НачалоПериода, НематериальныйАктив В (&СписокНМА)) КАК ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СпособыОтраженияРасходовПоАмортизацииНМАБухгалтерскийУчет.СрезПоследних(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СпособыОтраженияРасходовПоАмортизацииНМАБухгалтерскийУчетСрезПоследних
		|		ПО ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив = СпособыОтраженияРасходовПоАмортизацииНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаБухгалтерскогоУчетаНМА.СрезПоследних(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СчетаБухгалтерскогоУчетаНМАСрезПоследних
		|		ПО ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив = СчетаБухгалтерскогоУчетаНМАСрезПоследних.НематериальныйАктив
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВыработкаНМА.Обороты(&НачалоПериода, &КонецПериода, Месяц, НематериальныйАктив В (&СписокНМА)) КАК ВыработкаНМАОбороты
		|		ПО ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив = ВыработкаНМАОбороты.НематериальныйАктив
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьНМАБухгалтерскийУчет.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, , Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СтоимостьНМА_БУ
		|		ПО ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив = СтоимостьНМА_БУ.НематериальныйАктив
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьНМАБухгалтерскийУчет.Остатки(&НачалоГода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СтоимостьНМАНаНачалоГода_БУ
		|		ПО ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НематериальныйАктив = СтоимостьНМАНаНачалоГода_БУ.НематериальныйАктив
		|
		|ГДЕ
		|	ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.Организация = &Организация И
		|	(ПервоначальныеСведенияНМАБухгалтерскийУчетСрезПоследних.НачислятьАмортизацию = ИСТИНА)";*/
			//ВыборкаПоНМА = Запрос.Выполнить().Выбрать();
			while(true/*ВыборкаПоНМА.Следующий()*/)
			{
				/*ТекстСообщения = "Бух. расчет амортизации: для нематериального актива " + СокрЛП(ВыборкаПоНМА.НематериальныйАктивПредставление)
		               + " (" + СокрЛП(ВыборкаПоНМА.Код) + ")";*/
				if(true/*(ВыборкаПоНМА.АмортизацияОборот <> 0) И
			(ВыборкаПоНМА.АмортизацияОборот <> Null)*/)
				{
					if(true/*ВыдаватьСообщения = Истина и не (НематериальныйАктив = Неопределено)*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " амортизация в этом месяце уже начислялась");
					}
					/*// по указанному НМА в этом месяце уже начисляли амортизацию 
*/
				}
				if(true/*(ВыборкаПоНМА.СтоимостьНачальныйОстаток <= ВыборкаПоНМА.АмортизацияНачальныйОстаток)*/)
				{
					/*// остаточная стоимость на начало месяца равна 0
*/
				}
				//СуммаАмортизации = 0;
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоНМА.СпособНачисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " не указан способ амортизации");
					}
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоНМА.СтоимостьДляВычисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " стоимость равна 0");
					}
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоНМА.СтоимостьНачальныйОстаток)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " текущая балансовая стоимость равна 0");
					}
				}
				if(true/*НЕ ЗначениеЗаполнено(ВыборкаПоНМА.СрокИспользованияДляВычисленияАмортизации)*/)
				{
					if(true/*ВыдаватьСообщения = Истина*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения + " срок использования равен 0");
					}
				}
				//СуммаАмортизации = 0;
				if(true/*ВыборкаПоНМА.СпособНачисленияАмортизации = Перечисления.СпособыНачисленияАмортизацииНМА.Линейный*/)
				{
					//СуммаГодовойАмортизации = ВыборкаПоНМА.СтоимостьДляВычисленияАмортизации/ВыборкаПоНМА.СрокИспользованияДляВычисленияАмортизации * 12;
					//СуммаАмортизации        = СуммаГодовойАмортизации / 12;
				}
				/*ВсегоОсталосьСписать = ?(ВыборкаПоНМА.ПервоначальнаяСтоимость    = NULL, 0, ВыборкаПоНМА.ПервоначальнаяСтоимость) - 
		                       ?(ВыборкаПоНМА.АмортизацияКонечныйОстаток = NULL, 0, ВыборкаПоНМА.АмортизацияКонечныйОстаток);*/
				//СуммаАмортизации     = Мин(СуммаАмортизации, ВсегоОсталосьСписать);
				//СтрокаАмортизации = ТаблицаАмортизации.Добавить();
				//СтрокаАмортизации.НМА                    = ВыборкаПоНМА.НематериальныйАктив;
				//СтрокаАмортизации.СчетУчетаБУ            = ВыборкаПоНМА.СчетУчета;
				//СтрокаАмортизации.СчетАмортизацииБУ      = ВыборкаПоНМА.СчетНачисленияАмортизации;
				//СтрокаАмортизации.ИмяСубконто            = "НематериальныеАктивы";
				//СтрокаАмортизации.НаправлениеАмортизации = ВыборкаПоНМА.СпособыОтраженияРасходовПоАмортизации;
				//СтрокаАмортизации.Бух                    = СуммаАмортизации;
			}
			return null;
		}
		// УправлениеВнеоборотнымиАктивами.РасчетАмортизацииБухРегл()
		// Рассчитывает сумму амортизации по указаному нематериальному активу по нал учету
		//
		// Параметры
		//  НематериальныйАктив                        - Массив, СправочникСсылка.НематериальныеАктивы - НМА, по которому
		//                                                нужно рассчитать амортизацию.
		//  ДатаРасчета                                 - Дата - Дата расчета амортизации
		//
		// Возвращаемое значение:
		//   Число - Сумма начисленной амортизации
		//

		public object РасчетАмортизацииНМА_НИОКР_НалогРегл(/*Объект,ДатаРасчета,Организация,НематериальныйАктив = Неопределено, ВыдаватьСообщения = Истина*/)
		{
			//ТаблицаАмортизации = Новый ТаблицаЗначений();
			//ТаблицаАмортизации.Колонки.Добавить("НМА",                    Новый ОписаниеТипов("СправочникСсылка.НематериальныеАктивы"));
			//ТаблицаАмортизации.Колонки.Добавить("СчетУчетаНУ",            Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
			//ТаблицаАмортизации.Колонки.Добавить("СчетАмортизацииНУ",      Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
			//ТаблицаАмортизации.Колонки.Добавить("ИмяСубконто",            Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(20)));
			//ТаблицаАмортизации.Колонки.Добавить("НаправлениеАмортизации", Новый ОписаниеТипов("СправочникСсылка.СпособыОтраженияРасходовПоАмортизации"));
			//ТаблицаАмортизации.Колонки.Добавить("Налог",                  Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//СписокНМА = ПолучитьСписокНМАОрагнизации(НачалоМесяца(ДатаРасчета), Организация, Истина, НематериальныйАктив);
			if(true/*СписокНМА.количество()=0*/)
			{
				/*//Не обнаружено объектов 
*/
			}
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("Организация",                  Организация);
			//Запрос.УстановитьПараметр("НачалоПериода",                НачалоМесяца(ДатаРасчета));
			//Запрос.УстановитьПараметр("КонецПериода",                 КонецМесяца(ДатаРасчета));
			//Запрос.УстановитьПараметр("НИОКР"		,                 Перечисления.ВидыОбъектовУчетаНМА.РасходыНаНИОКР);
			//Запрос.УстановитьПараметр("МетодАмортизацииЛинейный",     Перечисления.МетодыНачисленияАмортизации.Линейный);
			//Запрос.УстановитьПараметр("СписокНМА",                    СписокНМА);
			//Запрос.УстановитьПараметр("ДатаПереходаКЛинейномуМетоду", ПолучитьДатуПереходаКЛинейномуМетоду(ДатаРасчета, Организация));
			/*Запрос.Текст = 
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	УчетнаяПолитикаОрганизацийСрезПоследних.МетодНачисленияАмортизацииНУ КАК МетодНачисленияАмортизацииНУ
	|ПОМЕСТИТЬ
	|	УчетнаяПолитикаОрганизацийСрезПоследних
	|ИЗ
	|	РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(&НачалоПериода, Организация = &Организация) КАК УчетнаяПолитикаОрганизацийСрезПоследних
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.Период                     КАК Период,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив        КАК НематериальныйАктив,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.СрокПолезногоИспользования КАК СрокПолезногоИспользования,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.ПервоначальнаяСтоимостьНУ  КАК ПервоначальнаяСтоимостьНУ,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НачислятьАмортизацию       КАК НачислятьАмортизацию
	|ПОМЕСТИТЬ
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних
	|ИЗ
	|	РегистрСведений.ПервоначальныеСведенияНМАНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация 
	|	                                                                                     И НематериальныйАктив В (&СписокНМА)) КАК ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних
	|ИНДЕКСИРОВАТЬ ПО
	|	НематериальныйАктив
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	НематериальныеАктивы.Ссылка КАК НематериальныйАктив
	|ПОМЕСТИТЬ
	|	СписокНМАСОстаточнойСтоимостью
	|ИЗ 
	|	Справочник.НематериальныеАктивы КАК НематериальныеАктивы
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних
	|	ПО НематериальныеАктивы.Ссылка = ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив
	|ГДЕ
	|	НематериальныеАктивы.Ссылка В (&СписокНМА)
	|	И (НематериальныеАктивы.АмортизационнаяГруппа НЕ В (ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ВосьмаяГруппа), 
	|	                                                    ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ДевятаяГруппа), 
	|	                                                    ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ДесятаяГруппа))) 
	|	И НЕ (НематериальныеАктивы.АмортизационнаяГруппа = ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ОтдельнаяГруппа))
	|	И ВЫБОР КОГДА ГОД(&ДатаПереходаКЛинейномуМетоду) = 2009 ТОГДА
	|		(ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.МетодНачисленияАмортизации = ЗНАЧЕНИЕ(Перечисление.МетодыНачисленияАмортизации.Нелинейный))
	|	  ИНАЧЕ ИСТИНА КОНЕЦ
	|	
	|ИНДЕКСИРОВАТЬ ПО
	|	НематериальныйАктив
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	СчетаНалоговогоУчетаНМАСрезПоследних.НематериальныйАктив       КАК НематериальныйАктив,
	|	СчетаНалоговогоУчетаНМАСрезПоследних.СчетУчета                 КАК СчетУчета,
	|	СчетаНалоговогоУчетаНМАСрезПоследних.СчетНачисленияАмортизации КАК СчетНачисленияАмортизации
	|ПОМЕСТИТЬ
	|	СчетаНалоговогоУчетаНМАСрезПоследних
	|ИЗ
	|	РегистрСведений.СчетаНалоговогоУчетаНМА.СрезПоследних(&НачалоПериода, Организация = &Организация
	|	                                                                      И НематериальныйАктив В (&СписокНМА)) КАК СчетаНалоговогоУчетаНМАСрезПоследних
	|ИНДЕКСИРОВАТЬ ПО
	|	НематериальныйАктив
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СостоянияНМАОрганизаций.НематериальныйАктив,
	|	МАКСИМУМ(СостоянияНМАОрганизаций.Период) КАК ДатаВводаВЭксплуатацию
	|ПОМЕСТИТЬ
	|	СостоянияНМАОрганизаций
	|ИЗ
	|	РегистрСведений.СостоянияНМАОрганизаций КАК СостоянияНМАОрганизаций
	|ГДЕ
	|	СостоянияНМАОрганизаций.Организация = &Организация
	|	И СостоянияНМАОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.ВидыСостоянийНМА.ПринятКУчету)
	|СГРУППИРОВАТЬ ПО
	|	СостоянияНМАОрганизаций.НематериальныйАктив
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	АмортизацияНМАНачалоПериода.Субконто1      КАК НематериальныйАктив,
	|	АмортизацияНМАНачалоПериода.СуммаОстатокКт КАК АмортизацияНачальныйОстаток
	|ПОМЕСТИТЬ
	|	АмортизацияНМАПриПереходеКЛинейномуМетоду
	|ИЗ 
	|	РегистрБухгалтерии.Налоговый.Остатки(&ДатаПереходаКЛинейномуМетоду, 
	|	                                     Счет В (ВЫБРАТЬ РАЗЛИЧНЫЕ СчетНачисленияАмортизации ИЗ СчетаНалоговогоУчетаНМАСрезПоследних),
	|	                                     ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы), 
	|	                                     Организация = &Организация 
	|	                                     И ВидУчета = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаПоПБУ18.НУ)) КАК АмортизацияНМАНачалоПериода
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокНМАСОстаточнойСтоимостью
	|	ПО СписокНМАСОстаточнойСтоимостью.НематериальныйАктив = АмортизацияНМАНачалоПериода.Субконто1	
	|ДЛЯ ИЗМЕНЕНИЯ
	|	РегистрБухгалтерии.Налоговый.Остатки
	|ИНДЕКСИРОВАТЬ ПО
	|	НематериальныйАктив
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив,
	|	ПРЕДСТАВЛЕНИЕ(ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив) КАК НематериальныйАктивПредставление,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив.Код КАК Код,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив.АмортизационнаяГруппа КАК АмортизационнаяГруппа,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.Период КАК ДатаПринятияКУчету,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.СрокПолезногоИспользования,
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.ПервоначальнаяСтоимостьНУ,
	|	ВЫБОР КОГДА ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив.ВидОбъектаУчета = &НИОКР ТОГДА 
	|		ЗНАЧЕНИЕ(Перечисление.МетодыНачисленияАмортизации.Линейный)
	|		ИНАЧЕ 
	|			ВЫБОР КОГДА ГОД(&НачалоПериода) < 2009 ТОГДА
	|				ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.МетодНачисленияАмортизации
	|			ИНАЧЕ 
	|				ВЫБОР КОГДА (ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив.АмортизационнаяГруппа В (ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ВосьмаяГруппа), ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ДевятаяГруппа), ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ДесятаяГруппа)))
	|						ИЛИ (ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив.АмортизационнаяГруппа = ЗНАЧЕНИЕ(Перечисление.АмортизационныеГруппы.ОтдельнаяГруппа)) ТОГДА
	|					ЗНАЧЕНИЕ(Перечисление.МетодыНачисленияАмортизации.Линейный)
	|				ИНАЧЕ
	|					УчетнаяПолитикаОрганизацийСрезПоследних.МетодНачисленияАмортизацииНУ
	|				КОНЕЦ
	|			КОНЕЦ
	|	КОНЕЦ КАК МетодНачисленияАмортизации,
	|	СчетаНалоговогоУчетаНМАСрезПоследних.СчетУчета,
	|	ВЫБОР КОГДА ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив.ВидОбъектаУчета = &НИОКР ТОГДА СчетаНалоговогоУчетаНМАСрезПоследних.СчетУчета ИНАЧЕ СчетаНалоговогоУчетаНМАСрезПоследних.СчетНачисленияАмортизации КОНЕЦ КАК СчетНачисленияАмортизации,
	|	СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних.СпециальныйКоэффициент,
	|	НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.ПризнакНачисленияПоБазовойСтоимости,
	|	НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.СуммаНакопленнойАмортизации,
	|	НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.ФактическийСрокПолезногоИспользования,
	|	НаправленияАмортизации.СпособОтраженияРасходов КАК НаправлениеАмортизации,
	|	ЕСТЬNULL(СтоимостьНМА_НУ.СтоимостьНачальныйОстаток, 0) КАК СтоимостьНаНачалоМесяца,
	|	ЕСТЬNULL(СтоимостьНМА_НУ.СтоимостьКонечныйОстаток, 0) КАК СтоимостьНаКонецМесяца,
	|	ЕСТЬNULL(СтоимостьНМА_НУ.АмортизацияПриход, 0) КАК АмортизацияОборот,
	|	ЕСТЬNULL(СтоимостьНМА_НУ.АмортизацияНачальныйОстаток, 0) КАК АмортизацияНачальныйОстаток,
	|	ЕСТЬNULL(СтоимостьНМА_НУ.АмортизацияКонечныйОстаток, 0) КАК АмортизацияКонечныйОстаток,
	|	ЕСТЬNULL(АмортизацияНМАПриПереходеКЛинейномуМетоду.АмортизацияНачальныйОстаток, 0) КАК АмортизацияПриПереходеКЛинейномуМетоду,
	|	ЕСТЬNULL(ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.СрокПолезногоИспользования, 0) - ((ГОД(&ДатаПереходаКЛинейномуМетоду) - ГОД(СостоянияНМАОрганизаций.ДатаВводаВЭксплуатацию)) * 12 + (МЕСЯЦ(&ДатаПереходаКЛинейномуМетоду) - МЕСЯЦ(СостоянияНМАОрганизаций.ДатаВводаВЭксплуатацию))) + 1 КАК ОстатокСрокаПриПереходеКЛинейномуМетоду,
	|	ВЫБОР КОГДА (ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив В (ВЫБРАТЬ НематериальныйАктив ИЗ СписокНМАСОстаточнойСтоимостью) И ГОД(&НачалоПериода) >= 2009) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ПереходКЛинейномуМетоду
	|ИЗ
	|	РегистрСведений.ПервоначальныеСведенияНМАНалоговыйУчет.СрезПоследних(&НачалоПериода, НематериальныйАктив В (&СписокНМА)) КАК ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаНалоговогоУчетаНМА.СрезПоследних(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СчетаНалоговогоУчетаНМАСрезПоследних
	|		ПО ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив = СчетаНалоговогоУчетаНМАСрезПоследних.НематериальныйАктив
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НачислениеАмортизацииНМАСпециальныйКоэффициентНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних
	|		ПО ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив = СпециальныйКоэффициентДляАмортизацииНалоговыйУчетСрезПоследних.НематериальныйАктив
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НачислениеАмортизацииНМАПоБазовойСтоимостиНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних
	|		ПО ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив = НачислениеАмортизацииПоБазовойСтоимостиНалоговыйУчетСрезПоследних.НематериальныйАктив
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СпособыОтраженияРасходовПоАмортизацииНМАНалоговыйУчет.СрезПоследних(&НачалоПериода, Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК НаправленияАмортизации
	|		ПО ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив = НаправленияАмортизации.НематериальныйАктив
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьНМАНалоговыйУчет.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Организация = &Организация И НематериальныйАктив В (&СписокНМА)) КАК СтоимостьНМА_НУ
	|		ПО ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив = СтоимостьНМА_НУ.НематериальныйАктив
	|		ЛЕВОЕ СОЕДИНЕНИЕ УчетнаяПолитикаОрганизацийСрезПоследних 
	|		ПО ИСТИНА
	|		ЛЕВОЕ СОЕДИНЕНИЕ АмортизацияНМАПриПереходеКЛинейномуМетоду 
	|		ПО ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив = АмортизацияНМАПриПереходеКЛинейномуМетоду.НематериальныйАктив
	|		ЛЕВОЕ СОЕДИНЕНИЕ СостоянияНМАОрганизаций 
	|		ПО ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НематериальныйАктив = СостоянияНМАОрганизаций.НематериальныйАктив
	|
	|ГДЕ
	|	(ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.НачислятьАмортизацию = ИСТИНА) И
	|	ПервоначальныеСведенияНМАНалоговыйУчетСрезПоследних.Организация = &Организация";*/
			//ТаблицаПоНМА = Запрос.Выполнить().Выгрузить();
			return null;
		}
		// РасчетАмортизацииНалогРегл
		// Возвращает параметры состояния ОС
		//
		// Параметры
		//  ОсновноеСредство    - СправочникСсылка.ОсновныеСредства
		//  Состояние			- Перечисление.ВидыСостоянийОС
		//  УпрУчет				- Булево, Учет,
		//  Организация		    - СправочникСсылка.Организации
		// Возвращаемое значение структура с полями:
		//	Дата,НомерДок,ИмяДок,Сумма,Регистратор
		//

		public object ПолучитьАтрибутыСостоянияОС(/*ОС, Состояние, УпрУчет = Истина, Организация =  Неопределено*/)
		{
			//РегистрСобытий 	 = "СобытияОС";
			//РегистрСостояний = "СостоянияОС";
			//СуммаЗатрат 	 = "СуммаЗатрат";
			if(true/*НЕ УпрУчет*/)
			{
				//РегистрСобытий 	 = РегистрСобытий   + "Организаций";
				//РегистрСостояний = РегистрСостояний + "Организаций";
				//СуммаЗатрат 	 = СуммаЗатрат		+ "БУ";
			}
			/*ТекстЗапроса =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	"+РегистрСостояний+".Регистратор.Ссылка КАК Регистратор,
	|	"+РегистрСостояний+".ОсновноеСредство,
	|	"+РегистрСостояний+".Состояние,
	|	ЕСТЬNULL("+РегистрСостояний+".ДатаСостояния, ДАТАВРЕМЯ(1,1,1)) КАК ДатаСостояния,
	|	"+РегистрСобытий+".Событие,
	|	"+РегистрСобытий+".НомерДокумента,
	|	"+РегистрСобытий+".НазваниеДокумента,
	|	ЕСТЬNULL("+РегистрСобытий+"."+СуммаЗатрат+", 0) КАК Сумма
	|ИЗ
	|	РегистрСведений."+РегистрСостояний+" КАК "+РегистрСостояний+"
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений."+РегистрСобытий+" КАК "+РегистрСобытий+"
	|		ПО "+РегистрСостояний+".Регистратор = "+РегистрСобытий+".Регистратор 
	|		И "+РегистрСостояний+".ОсновноеСредство = "+РегистрСобытий+".ОсновноеСредство 
	|ГДЕ
	|		"+РегистрСостояний+".ОсновноеСредство = &ОсновноеСредство 
	|		И "+РегистрСостояний+".Состояние = &Состояние 
	|		И "+РегистрСобытий+".Событие.ВидСобытияОС в (&ВидСобытияОС)";*/
			//ЗапросСостоянияОС = Новый Запрос;
			//ЗапросСостоянияОС.УстановитьПараметр("Состояние",Состояние);
			//СоответствиеСобытийСостояниям = ПолучитьСоответствиеСобытийСостояниямОС();
			//ВидСобытия = Новый Массив;
			//Событие    = СоответствиеСобытийСостояниям.Получить(Состояние);
			//ВидСобытия.Добавить(Событие);
			if(true/*Событие = Перечисления.ВидыСобытийОС.Списание*/)
			{
				//ВидСобытия.Добавить(Перечисления.ВидыСобытийОС.Передача);
			}
			//ЗапросСостоянияОС.УстановитьПараметр("ВидСобытияОС",ВидСобытия);
			//ЗапросСостоянияОС.УстановитьПараметр("ОсновноеСредство",ОС);
			if(true/*Не УпрУчет*/)
			{
				//ЗапросСостоянияОС.УстановитьПараметр("Организация",Организация);
				/*ТекстЗапроса= ТекстЗапроса+"
		|   И  "+РегистрСобытий+".Организация	= &Организация
		|   И  "+РегистрСостояний+".Организация = &Организация";*/
			}
			//ЗапросСостоянияОС.Текст	= ТекстЗапроса;
			//ВыборкаСостояний = ЗапросСостоянияОС.Выполнить().Выбрать();
			//СтруктураСостояния = Новый Структура;
			if(true/*ВыборкаСостояний.Следующий()*/)
			{
				//СтруктураСостояния.Вставить( "Дата"        , ВыборкаСостояний.ДатаСостояния);
				//СтруктураСостояния.Вставить( "ИмяДок"      , ВыборкаСостояний.НазваниеДокумента);
				//СтруктураСостояния.Вставить( "НомерДок"    , ВыборкаСостояний.НомерДокумента);
				//СтруктураСостояния.Вставить( "Сумма"	   , ВыборкаСостояний.Сумма);
				//СтруктураСостояния.Вставить( "Регистратор" , ВыборкаСостояний.Регистратор);
			}
			return null;
		}
		// Функция возвращает соответствие значений перечисления Виды событий ОС
		// значениям перечисления СостоянияОС

		public object ПолучитьСоответствиеСобытийСостояниямОС(/**/)
		{
			//СоответствиеСобытийСостояниям = Новый Соответствие;
			//СоответствиеСобытийСостояниям.Вставить(Перечисления.СостоянияОС.ВведеноВЭксплуатацию,Перечисления.ВидыСобытийОС.ВводВЭксплуатацию);
			//СоответствиеСобытийСостояниям.Вставить(Перечисления.СостоянияОС.ПринятоКУчету,Перечисления.ВидыСобытийОС.ПринятиеКУчету);
			//СоответствиеСобытийСостояниям.Вставить(Перечисления.СостоянияОС.СнятоСУчета,Перечисления.ВидыСобытийОС.Списание);
			return null;
		}
		///////////////////////////////////////////////////////////////////////////////
		// РЕГИСТРЫ СВЕДЕНИЙ ПО НАЛОГООБЛОЖЕНИЮ

		public void ОпределитьПараметрыСпискаКодов(/*Макет, ТекущийПериод, НазваниеОбласти, СписокОбластей*/)
		{
			//Области = Макет.Области;
			if(true/*Области.Количество() = 0*/)
			{
				//НазваниеОбласти = "";
			}
			//ТекущаяОбласть = СписокОбластей[0].Значение;
			//НазваниеОбласти = ТекущаяОбласть;
		}

		public object ПолучитьРегистрациюВИФНСПоОрганизации(/*Организация*/)
		{
			//НалоговыйОрган = Справочники.РегистрацияВИФНС.ПустаяСсылка();
			if(true/*ЗначениеЗаполнено(Организация)*/)
			{
				//Запрос = Новый Запрос;
				//Запрос.УстановитьПараметр("Организация", Организация);
				/*Запрос.Текст = 
		"ВЫБРАТЬ
		|	РегистрацияВИФНС.Ссылка
		|ИЗ
		|	Справочник.РегистрацияВИФНС КАК РегистрацияВИФНС
		|ГДЕ
		|	РегистрацияВИФНС.ПометкаУдаления = ЛОЖЬ
		|	И РегистрацияВИФНС.Владелец = &Организация
		|	И РегистрацияВИФНС.Код = РегистрацияВИФНС.Владелец.КодИМНС";*/
				//РезультатЗапроса = Запрос.Выполнить();
				if(true/*НЕ РезультатЗапроса.Пустой()*/)
				{
					//Выборка = РезультатЗапроса.Выбрать();
					//Выборка.Следующий();
					//НалоговыйОрган = Выборка.Ссылка;
				}
			}
			return null;
		}
		// ПолучитьРегистрациюВИФНСПоОрганизации()

		public object ПолучитьКодыВидовТС(/**/)
		{
			//КодыВидовТС = Новый ТаблицаЗначений();
			//КодыВидовТС.Колонки.Добавить("Код");
			//КодыВидовТС.Колонки.Добавить("Наименование");
			//КодыВидовТС.Колонки.Добавить("КодЕдиницыИзмерения");
			//Макет = Отчеты.РегламентированныйОтчетТранспортныйНалог.ПолучитьМакет("Списки2007Кв1");
			//ТекущаяОбласть = Макет.Области.Найти("ВидыТранспортныхСредств");
			if(true/*НЕ (ТекущаяОбласть = Неопределено)*/)
			{
			}
			return null;
		}
		// ПолучитьКодыВидовТС()

		public object ПолучитьСписокКодовЕдиницИзмеренияТС(/**/)
		{
			//Список = Новый СписокЗначений;
			//Список.Добавить("251", "л. с");
			//Список.Добавить("999", "Кгс");
			//Список.Добавить("181", "БРТ");
			//Список.Добавить("796", "шт");
			return null;
		}
		// ПолучитьСписокКодовЕдиницИзмеренияТС()

		public object ПолучитьФормуВыбораДляКода(/*ВыбранноеЗначение, НазваниеОбъекта, НазваниеМакета, ТекущийПериод*/)
		{
			//КодыЛьгот = Новый ТаблицаЗначений();
			//КодыЛьгот.Колонки.Добавить("Код");
			//КодыЛьгот.Колонки.Добавить("Наименование");
			//КодыЛьгот.Колонки.Добавить("КодЕдиницыИзмерения");
			//Макет = РегистрыСведений[НазваниеОбъекта].ПолучитьМакет(НазваниеМакета);
			//НазваниеОбласти = "";
			//СписокОбластей = Новый СписокЗначений;
			//ОпределитьПараметрыСпискаКодов(Макет, ТекущийПериод, НазваниеОбласти, СписокОбластей);
			//ТекущаяОбласть = Макет.Области.Найти("Область" + НазваниеОбласти);
			if(true/*НЕ (ТекущаяОбласть = Неопределено)*/)
			{
			}
			//Форма = ПолучитьОбщуюФорму("ФормаВыбораКода");
			//Форма.Заголовок = Макет.Область(1,1).Текст;
			//Форма.СписокЛьгот = КодыЛьгот;
			//Форма.СписокПериодовДействия = СписокОбластей;
			//Форма.НазваниеОбъекта = НазваниеОбъекта;
			//Форма.НазваниеМакета = НазваниеМакета;
			//Форма.ТекущийПериод = НазваниеОбласти;
			//ТекущаяСтрока = КодыЛьгот.Найти(ВыбранноеЗначение, "Код");
			if(true/*НЕ (ТекущаяСтрока = Неопределено)*/)
			{
				//Форма.ЭлементыФормы.СписокЛьгот.ТекущаяСтрока = ТекущаяСтрока;
			}
			return null;
		}
		// ПолучитьФормуВыбораДляКода()

		public object ПредставлениеНалоговойЛьготыПоТранспортномуНалогу(/*Ссылка*/)
		{
			//ТекстНалоговойЛьготы = СокрЛП(Ссылка.НалоговаяЛьгота);
			if(true/*Ссылка.НалоговаяЛьгота = Перечисления.ВидыНалоговыхЛьготПоТранспортномуНалогу.СнижениеНалоговойСтавки*/)
			{
				//ТекстНалоговойЛьготы = ТекстНалоговойЛьготы + ", льготная ставка " + Ссылка.ЛьготнаяСтавка + " руб.";
			}
			if(true/*Ссылка.НалоговаяЛьгота = Перечисления.ВидыНалоговыхЛьготПоТранспортномуНалогу.УменьшениеСуммыНалогаВПроцентах*/)
			{
				//ТекстНалоговойЛьготы = СтрЗаменить(ТекстНалоговойЛьготы, " (в процентах)", " на ") + Ссылка.ПроцентУменьшения + " %";
			}
			if(true/*Ссылка.НалоговаяЛьгота = Перечисления.ВидыНалоговыхЛьготПоТранспортномуНалогу.УменьшениеСуммыНалогаНаСумму*/)
			{
				//ТекстНалоговойЛьготы = СтрЗаменить(ТекстНалоговойЛьготы, " (на сумму)", " на ") + Ссылка.СуммаУменьшения + " руб.";
			}
			if(true/*НЕ ПустаяСтрока(Ссылка.КодНалоговойЛьготы) 
	   И НЕ Ссылка.НалоговаяЛьгота = Перечисления.ВидыНалоговыхЛьготПоТранспортномуНалогу.НеПрименяется*/)
			{
				//ТекстНалоговойЛьготы = ТекстНалоговойЛьготы + " (" + Ссылка.КодНалоговойЛьготы + ")";
			}
			return null;
		}
		// ПредставлениеНалоговойЛьготыПоТранспортномуНалогу()

		public object ПредставлениеНалоговойЛьготыПоЗемельномуНалогу(/*Ссылка*/)
		{
			//ТекстНалоговойЛьготы = "";
			if(true/*Ссылка.НалоговаяЛьготаПоНалоговойБазе = Перечисления.ВидНалоговойЛьготыПоНалоговойБазеПоЗемельномуНалогу.ОсвобождениеОтНалогообложенияПоСтатье395*/)
			{
				//ТекстНалоговойЛьготы = ТекстНалоговойЛьготы + "Освобождение от налогообложения по ст. 395 НК РФ";
				if(true/*НЕ ПустаяСтрока(Ссылка.КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395)*/)
				{
					//ТекстНалоговойЛьготы = ТекстНалоговойЛьготы + " (" + Ссылка.КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395 + ")";
				}
			}
			if(true/*Ссылка.НалоговаяЛьготаПоНалоговойБазе = Перечисления.ВидНалоговойЛьготыПоНалоговойБазеПоЗемельномуНалогу.УменьшениеНалоговойБазы*/)
			{
				if(true/*Ссылка.УменьшениеНалоговойБазыПоСтатье391*/)
				{
					/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
			                     + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
			                     + "Не облагаемая налогом сумма 10 000 руб., установленная ст. 391 НК РФ";*/
					if(true/*НЕ ПустаяСтрока(Ссылка.КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391)*/)
					{
						//ТекстНалоговойЛьготы = ТекстНалоговойЛьготы + " (" + Ссылка.КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391 + ")";
					}
				}
				if(true/*Ссылка.УменьшениеНалоговойБазыНаСумму*/)
				{
					/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
			                     + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
			                     + "Не облагаемая налогом сумма " + Ссылка.НеОблагаемаяНалогомСумма + " руб., установленная местным нормативным актом";*/
				}
			}
			if(true/*Ссылка.НалоговаяЛьготаПоНалоговойБазе = Перечисления.ВидНалоговойЛьготыПоНалоговойБазеПоЗемельномуНалогу.ОсвобождениеОтНалогообложенияМестное*/)
			{
				/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
		                     + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
		                     + "Освобождение от налогообложения, установленное местным нормативным актом";*/
			}
			if(true/*Ссылка.НалоговаяЛьготаПоНалоговойБазе = Перечисления.ВидНалоговойЛьготыПоНалоговойБазеПоЗемельномуНалогу.НеОблагаемаяНалогомПлощадь*/)
			{
				/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
		                     + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
		                     + "Доля не облагаемой налогом площади " + Ссылка.ДоляНеОблагаемойНалогомПлощадиЧислитель + "/" + Ссылка.ДоляНеОблагаемойНалогомПлощадиЗнаменатель;*/
			}
			if(true/*ЗначениеЗаполнено(Ссылка.ПроцентУменьшенияСуммыНалога)*/)
			{
				/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
		                     + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
							 + "Уменьшение суммы налога на " + Ссылка.ПроцентУменьшенияСуммыНалога + "%";*/
			}
			if(true/*ЗначениеЗаполнено(Ссылка.СуммаУменьшенияСуммыНалога)*/)
			{
				/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
		                     + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
							 + "Уменьшение суммы налога в размере " + Ссылка.СуммаУменьшенияСуммыНалога + " руб.";*/
			}
			if(true/*ЗначениеЗаполнено(Ссылка.СниженнаяНалоговаяСтавка)*/)
			{
				/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
		                     + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
		                     + "Снижение налоговой ставки до " + Ссылка.СниженнаяНалоговаяСтавка + "%";*/
			}
			if(true/*ПустаяСтрока(ТекстНалоговойЛьготы)*/)
			{
				//ТекстНалоговойЛьготы = "Не применяется";
			}
			return null;
		}
		// ПредставлениеНалоговойЛьготыПоЗемельномуНалогу()

		public object ПредставлениеНалоговойЛьготыПоНалогуНаИмущество(/*Ссылка*/)
		{
			//ТекстНалоговойЛьготы = "";
			if(true/*Ссылка.ОсвобождениеОтНалогообложения*/)
			{
				//ТекстНалоговойЛьготы = ТекстНалоговойЛьготы + "Освобождение от налогообложения";
				if(true/*НЕ ПустаяСтрока(Ссылка.КодНалоговойЛьготыОсвобождениеОтНалогообложения)*/)
				{
					//ТекстНалоговойЛьготы = ТекстНалоговойЛьготы + " (" + Ссылка.КодНалоговойЛьготыОсвобождениеОтНалогообложения + ")";
				}
			}
			if(true/*Ссылка.СнижениеНалоговойСтавки*/)
			{
				/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
		                     + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
		                     + "Снижение налоговой ставки до " + Ссылка.СниженнаяНалоговаяСтавка + "%";*/
			}
			//ТекстПроУменьшение = "";
			if(true/*Ссылка.УменьшениеСуммыНалогаВПроцентах*/)
			{
				/*ТекстНалоговойЛьготы = ТекстНалоговойЛьготы
							 + ?(ПустаяСтрока(ТекстНалоговойЛьготы), "", "; ")
							 + "Уменьшение суммы налога на " + Ссылка.ПроцентУменьшения + "%";*/
			}
			if(true/*ПустаяСтрока(ТекстНалоговойЛьготы)*/)
			{
				//ТекстНалоговойЛьготы = "Не применяется";
			}
			return null;
		}
		// ПредставлениеНалоговойЛьготыПоНалогуНаИмущество()
		// Определяет коэффициент распределения выручки по видам деятельности
		// (ЕНВД / не ЕНВД) за период.
		//
		// Параметры:
		//  Организация - СправочникСсылка.Организации - организация;
		//  НачДата     – Дата – начало периода расчета;
		//	КонДата     - Дата - окончание периода расчета.
		//
		// Возвращаемое значение:
		//  Число – коэффициент распределения расходов по видам деятельности.
		//

		public object КоэффициентРаспределенияВыручкиПоВидамДеятельности(/*Организация, Знач НачДата, Знач КонДата*/)
		{
			/*// Массив счетов, по которым рассчитывается выручка организации.
*/
			//МассивСчетов = Новый Массив;
			//МассивСчетов.Добавить(ПланыСчетов.Хозрасчетный.Выручка);
			//МассивСчетов.Добавить(ПланыСчетов.Хозрасчетный.Продажи_НДС);
			//МассивСчетов.Добавить(ПланыСчетов.Хозрасчетный.Продажи_Акцизы);
			//МассивСчетов.Добавить(ПланыСчетов.Хозрасчетный.Продажи_ЭкспортныеПошлины);
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Организация",      Организация);
			//Запрос.УстановитьПараметр("НачДата",          НачДата);
			//Запрос.УстановитьПараметр("КонДата",          КонДата);
			//Запрос.УстановитьПараметр("СчетВыручкаЕНВД",  НалоговыйУчетУСН.МассивСчетовВыручкиЕНВД());
			//Запрос.УстановитьПараметр("МассивСчетов",     МассивСчетов);
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	СУММА(ВЫБОР
	|			КОГДА ХозрасчетныйОбороты.Счет В (&СчетВыручкаЕНВД)
	|				ТОГДА -ХозрасчетныйОбороты.СуммаОборот
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК ВыручкаЕНВД,
	|	СУММА(ВЫБОР
	|			КОГДА (НЕ ХозрасчетныйОбороты.Счет В (&СчетВыручкаЕНВД))
	|				ТОГДА -ХозрасчетныйОбороты.СуммаОборот
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК ВыручкаНеЕНВД,
	|	ХозрасчетныйОбороты.Счет КАК Счет
	|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный.Обороты(&НачДата, &КонДата, Период, Счет В ИЕРАРХИИ (&МассивСчетов), , Организация = &Организация, , ) КАК ХозрасчетныйОбороты
	|
	|СГРУППИРОВАТЬ ПО
	|	ХозрасчетныйОбороты.Счет
	|";*/
			//РезультатЗапроса = Запрос.Выполнить();
			/*// Если результат запроса пустой, то считаем, что все
*/
			/*// расходы относятся к деятельности, не облагаемой ЕНВД.
*/
			if(true/*РезультатЗапроса.Пустой()*/)
			{
				//Коэффициент = 1;
			}
			return null;
		}
		// КоэффициентРаспределенияВыручкиПоВидамДеятельности()
		///////////////////////////////////////////////////////////////////////////////
		// РАБОТА С ФОРМАМИ

		public void НачалоВыбораЗначенияСпособовОтраженияРасходовПоАмортизации(/*ЭлементФормы, Организация = Неопределено, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора          = Справочники.СпособыОтраженияРасходовПоАмортизации.ПолучитьФормуВыбора(,ЭлементФормы,);
			if(true/*НЕ Организация = Неопределено*/)
			{
				/*// Оставим в выборе только записи с организацией из документа и те, в которых организация вообще не указана
*/
				//СписокОрганизаций = Новый СписокЗначений;
				//СписокОрганизаций.Добавить(Организация);
				//СписокОрганизаций.Добавить(Справочники.Организации.ПустаяСсылка());
				//ФормаВыбора.СправочникСписок.Отбор.Организация.ВидСравнения = ВидСравнения.ВСписке;
				//ФормаВыбора.СправочникСписок.Отбор.Организация.Значение         = СписокОрганизаций;
				//ФормаВыбора.СправочникСписок.Отбор.Организация.Использование    = Истина;
			}
			//ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = ЭлементФормы.Значение;
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияСпособовОтраженияРасходовПоАмортизации()
	}
}
